Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Visual Studio App Center drogs tillbaka den 31 mars 2025, förutom analys- och diagnostikfunktionerna, som fortsätter att stödjas fram till den 30 juni 2026. Läs mer.
App Center SDK använder en modulär arkitektur så att du kan använda alla eller alla tjänster.
Nu ska vi komma igång med att konfigurera App Center React Native SDK i din app för att använda App Center Analytics och App Center Crashes.
1. Förutsättningar
Innan du börjar kontrollerar du att följande krav uppfylls:
- Du använder ett React Native-projekt som kör React Native 0.34 eller senare.
- Du riktar in dig på enheter som körs på Android Version 5.0/API-nivå 21 eller senare, eller iOS version 9.0 eller senare.
- Du använder inte något annat bibliotek som tillhandahåller funktioner för kraschrapportering i iOS.
- För iOS kräver standardsättet för att använda SDK CocoaPods. (Om du inte har installerat CocoaPods följer du CocoaPods Komma igång för att göra det). Det går dock att länka SDK:et manuellt.
2. Skapa din app i App Center-portalen för att hämta apphemligheten
Om du redan har skapat din app i App Center-portalen kan du hoppa över det här steget.
- Gå över till appcenter.ms.
- Registrera dig eller logga in och tryck på den blå knappen i det övre högra hörnet i portalen där det står Lägg till ny och välj Lägg till ny app på den nedrullningsbara menyn.
- Ange ett namn och en valfri beskrivning för din app.
- Välj lämpligt operativsystem (Android eller iOS) och välj React Native som plattform.
- Tryck på knappen längst ned till höger där det står Lägg till ny app.
När du har skapat en app kan du hämta dess apphemlighet på sidan Inställningar på App Center-portalen. I det övre högra hörnet på sidan Inställningar klickar du på de tre lodräta punkterna och väljer Copy app secret
för att hämta din apphemlighet.
3. Lägg till App Center SDK-modulerna
Standardintegrering av SDK använder CocoaPods för iOS. Om du inte använder CocoaPods i din app måste du integrera React Native SDK manuellt för din iOS-app.
Öppna en terminal och navigera till roten för ditt React Native-projekt. Ange sedan följande rad för att lägga till App Center Analytics och Crashes i appen:
npm install appcenter appcenter-analytics appcenter-crashes --save-exact
Om du föredrar yarn
över npm
använder du följande kommando för att installera App Center:
yarn add appcenter appcenter-analytics appcenter-crashes --exact
App Center SDK använder en modulär metod där du bara lägger till modulerna för App Center-tjänster som du vill använda. appcenter-analytics och appcenter-crashs är meningsfulla att lägga till i nästan alla appar, eftersom de ger värde utan ytterligare installation krävs. appcenter tillhandahåller appcenter-API :er för generell användning, som är användbara för flera tjänster.
3.1 Integrera SDK:t automatiskt för React Native 0.60
Du kan använda App Center SDK med React Native på två sätt: Konfigurera AppCenter-Config.plist
för iOS och appcenter-config.json för Android eller genom att anropa de inbyggda startfunktioner som accepterar appSecret som argument.
3.1.1 Integrera React Native iOS
Kör pod install --repo-update
från iOS-katalogen för att installera CocoaPods-beroenden.
3.1.1.1 Ange AppSecret-alternativ 1: Konfigurera AppCenter-Config.plist
Skapa en ny fil med namnet
AppCenter-Config.plist
med följande innehåll och ersätt{APP_SECRET_VALUE}
med ditt apphemlighetsvärde. Glöm inte att lägga till den här filen i Xcode-projektet (högerklicka på appen i Xcode och klicka på Lägg till filer i <AppName>...).<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AppSecret</key> <string>{APP_SECRET_VALUE}</string> </dict> </plist>
Ändra appens AppDelegate.m - eller AppDelegate.mm-fil så att den innehåller kod för att starta SDK.
- Lägg till följande importer:
#import <AppCenterReactNative.h> #import <AppCenterReactNativeAnalytics.h> #import <AppCenterReactNativeCrashes.h>
- Lägg till följande rader i
application:didFinishLaunchingWithOptions:
metoden:
[AppCenterReactNative register]; [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true]; [AppCenterReactNativeCrashes registerWithAutomaticProcessing];
3.1.1.2 Ange AppSecret-alternativ 2: Konfigurera i kod
Ändra appens AppDelegate.m - eller AppDelegate.mm-fil så att den innehåller kod för att starta SDK.
- Lägg till följande importer:
#import <AppCenterReactNativeShared/AppCenterReactNativeShared.h>
#import <AppCenterReactNative.h>
#import <AppCenterReactNativeAnalytics.h>
#import <AppCenterReactNativeCrashes.h>
- Lägg till följande rader i
application:didFinishLaunchingWithOptions:
metoden:
[AppCenterReactNativeShared setStartAutomatically:YES];
[AppCenterReactNativeShared setAppSecret:@"{Your App Secret}"];
[AppCenterReactNative register];
[AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true];
[AppCenterReactNativeCrashes registerWithAutomaticProcessing];
3.1.2 Integrera React Native Android
Ändra appens res/values/strings.xml så att den innehåller följande rader:
<string name="appCenterCrashes_whenToSendCrashes" moduleConfig="true" translatable="false">DO_NOT_ASK_JAVASCRIPT</string>
<string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string>
3.1.2.1 Ange AppSecret-alternativ 1: Konfigurera appcenter-config.json
Skapa en ny fil med namnet appcenter-config.json i android/app/src/main/assets/
med följande innehåll och ersätt {APP_SECRET_VALUE}
med ditt apphemlighetsvärde.
{
"app_secret": "{APP_SECRET_VALUE}"
}
Obs! Om mappen med namnet assets inte finns bör den skapas under "project_root/android/app/src/main/assets".
3.1.2.2 Ange AppSecret-alternativ 2: Konfigurera i kod
Lägg till följande rad inuti din app's huvudaktivitetsklassens onCreate-callback för att använda App Center Analytics och App Center Crashes.
AppCenter.start(getApplication(), "{Your App Secret}", Analytics.class, Crashes.class);
AppCenter.start(application, "{Your App Secret}", Analytics::class.java, Crashes::class.java)
3.2 Integrera SDK:t automatiskt för React Native som är lägre än 0,60
Anmärkning
Om du har dina React-moduler länkade med hjälp av en relativ sökväg i Podfile men inte refereras till i projektet misslyckas länkningsskriptet eftersom det länkar App Center med statiska poddversioner. Du måste antingen följa stegen i avsnittet React Native-felsökning om du redan har kört länkningsskriptet eller länka det själv
Länka plugin-program till react native-appen med hjälp av kommandot react-native link.
react-native link appcenter react-native link appcenter-analytics react-native link appcenter-crashes
För iOS försöker den ladda ned App Center SDK för iOS och macOS från CocoaPods om du ser ett fel som:
Added code to initialize iOS App Center SDK in ios/reactnativesample/AppDelegate.m Analyzing dependencies [!] Unable to find a specification for AppCenterReactNativeShared (~> {version})
Kör följande kommando:
pod repo update
Försök sedan köra
react-native link
igen.Anmärkning
App Center SDK konfigurerar inte modeller automatiskt för App Center-moduler under länkningsprocessen. Om du använder Jest-testramverket i ditt program och får fel som orsakas av App Center SDK när du kör tester med Jest lägger du till följande i avsnittet jest i package.json fil (inkludera endast moduler som används):
"setupFiles": [ "<rootDir>/node_modules/appcenter/test/AppCenterMock.js", "<rootDir>/node_modules/appcenter-analytics/test/AppCenterAnalyticsMock.js", "<rootDir>/node_modules/appcenter-crashes/test/AppCenterCrashesMock.js", ]
Anmärkning
Oavsett om bearbetning av krascher sker automatiskt eller utlöses av Javascript-metoder bearbetas alltid krascher efter omstarten av programmet. Krascher kan inte bearbetas när programmet kraschar.
Redigera projektets
android/app/src/main/assets/appcenter-config.json
och ersättYOUR_APP_SECRET
platshållarvärdet med App Center-projektets programhemlighet.Redigera projektets
ios/{YourAppName}/AppCenter-Config.plist
fil och ersättYOUR_APP_SECRET
platshållarvärdet med App Center-projektets programhemlighet. Om AppCenter-Config.plist redan finns men inte ingår i Xcode-projektet måste du lägga till det i Xcode-projektet manuellt (högerklicka på appen i XCode och klicka på Lägg till filer i <appnamn>...).
3.3 [endast iOS] Integrera SDK manuellt för React Native utan react-native-länk eller CocoaPods
Gör den här integreringen om du inte vill använda CocoaPods. Vi rekommenderar starkt att du integrerar SDK via CocoaPods enligt beskrivningen ovan. Det går dock också att integrera den interna IOS-SDK:n manuellt.
Anmärkning
Den senaste App Center React Native SDK är inte nödvändigtvis beroende av den senaste App Center iOS SDK:n, eftersom iOS SDK:n uppdateras och släpps före React Native SDK:n.
Konsekvensen är att du måste veta vilken version av iOS SDK som React Native SDK är beroende av.
Ladda ned App Center SDK för React Native-ramverk som tillhandahålls som en zip-fil och packa upp den.
Du ser en mapp med namnet AppCenterReactNativeShared som innehåller ett enda ramverk för den nödvändiga React Native iOS-bryggan.
Ladda ned motsvarande App Center SDK för iOS-ramverk som tillhandahålls som en zip-fil och packa upp den.
Du ser en mapp med namnet AppCenter-SDK-Apple/iOS som innehåller olika ramverk för varje App Center-tjänst. Ramverket som anropas
AppCenter
krävs i projektet eftersom det innehåller kod som delas mellan de olika modulerna.[Valfritt] Skapa en underkatalog för bibliotek från tredje part.
- Bästa praxis är att bibliotek från tredje part vanligtvis finns i en underkatalog (det kallas ofta leverantör), så om du inte har ditt projekt organiserat med en underkatalog för bibliotek skapar du nu en leverantörsunderkatalog (under ios-katalogen i projektet).
- Skapa en grupp med namnet Leverantör i Xcode-projektet för att efterlikna filstrukturen på disken.
Öppna Finder och kopiera de tidigare uppackade mapparna AppCenter-SDK-Apple/iOS och AppCenterReactNativeShared till projektets mapp på den plats där du vill att de ska finnas.
Lägg till SDK-ramverken i projektet i Xcode:
- Kontrollera att Projektnavigatorn är synlig (⌘+1).
- Dra och släpp filerna AppCenter.framework, AppCenterAnalytics.framework, AppCenterCrashes.framework och AppCenterReactNativeShared.framework från Finder (på platsen från föregående steg) till Xcodes Project Navigator. AppCenter.framework- och AppCenterReactNativeShared.framework-filerna krävs för att starta SDK:t, se till att de läggs till i projektet, annars fungerar inte de andra modulerna och appen kompileras inte.
- En dialogruta visas, kontrollera att appmålet är markerat och klicka sedan på Slutför.
Länka AppCenter React Native-plugin-projekt till appens projekt:
Kontrollera att Projektnavigatorn är synlig (⌘+1).
För varje AppCenter React Native-plugin-program navigerar du till mappen som innehåller källkod. Sökvägarna är respektive
/node_modules/appcenter/ios
/node_modules/appcenter-analytics/ios
/node_modules/appcenter-crashes/ios
Dra och släpp
.xcodeproj
filer från Finder till Xcodes Project Navigator. Vanligtvis under Biblioteksgrupp .
Länka bibliotek för AppCenter React Native plugin-program. Öppna projektinställningarna och under fliken Allmänt i avsnittet Länkade ramverk och bibliotek lägger du till nya objekt som refererar till målbibliotek som lades till i föregående steg:
libAppCenterReactNative.a
libAppCenterReactNativeAnalytics.a
libAppCenterReactNativeCrashes.a
Ändra sökvägar för sidhuvud för att hitta rubriker från appcenter react native plugins-projekt. Öppna projektinställningarna och under fliken Bygginställningar i avsnittet Sökvägar för rubriksökning lägger du till nya platser för huvudfiler:
$(SRCROOT)/../node_modules/appcenter/ios/AppCenterReactNative
$(SRCROOT)/../node_modules/appcenter-analytics/ios/AppCenterReactNativeAnalytics
$(SRCROOT)/../node_modules/appcenter-crashes/ios/AppCenterReactNativeCrashes
Ändra appens AppDelegate.m- eller AppDelegate.mm-fil så att den innehåller kod för att starta SDK:
- Lägg till följande importer:
#import <AppCenterReactNative/AppCenterReactNative.h> #import <AppCenterReactNativeAnalytics/AppCenterReactNativeAnalytics.h> #import <AppCenterReactNativeCrashes/AppCenterReactNativeCrashes.h>
- Lägg till dessa rader i
application:didFinishLaunchingWithOptions:
metoden
[AppCenterReactNative register]; [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true]; [AppCenterReactNativeCrashes registerWithAutomaticProcessing];
Skapa en ny fil med namnet
AppCenter-Config.plist
med följande innehåll och ersätt{APP_SECRET_VALUE}
med ditt apphemlighetsvärde. Glöm inte att lägga till den här filen i XCode-projektet (högerklicka på appen i XCode och klicka på Lägg till filer i <appnamn>...).<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AppSecret</key> <string>{APP_SECRET_VALUE}</string> </dict> </plist>
Anmärkning
Följande två steg gäller endast för appar som använder React Native 0.60 och senare.
Inaktivera automatisk länkning för React Native 0.60 och senare:
- I mappen node_modules i varje App Center-paket, öppna react-native.config.js och ställ in
dependency.platforms.ios
tillnull
:
module.exports = { dependency: { platforms: { ios: null, ... } } };
- I mappen node_modules i varje App Center-paket, öppna react-native.config.js och ställ in
Ändra sökvägar för sidhuvud för att hitta React Native-huvuden från App Center React Native plugins-projekt:
- Kontrollera att Projektnavigatorn är synlig (⌘+1).
- För varje AppCenter React Native-plugin-projekt som du har lagt till i gruppen Bibliotek i steg 8:
- Välj projektet och under fliken Skapa inställningar i avsnittet Sökvägar för rubriksökning lägger du till nya platser för rubrikfiler med ett
recursive
alternativ:${SRCROOT}/../../../ios/Pods/Headers
- Välj projektet och under fliken Skapa inställningar i avsnittet Sökvägar för rubriksökning lägger du till nya platser för rubrikfiler med ett
3.4 [Endast Android] Integrera SDK manuellt för React Native som är lägre än 0,60 utan react-native-länk
Integreringssteg utan react-native link
kommandot .
Öppna filen android/settings.gradle och infoga följande rader. Inkludera de beroenden som du vill använda i projektet. Varje SDK-modul måste läggas till som ett separat beroende i det här avsnittet. Om du vill använda App Center Analytics och Krascher lägger du till följande rader:
include ':appcenter-crashes' project(':appcenter-crashes').projectDir = new File(rootProject.projectDir, '../node_modules/appcenter-crashes/android') include ':appcenter-analytics' project(':appcenter-analytics').projectDir = new File(rootProject.projectDir, '../node_modules/appcenter-analytics/android') include ':appcenter' project(':appcenter').projectDir = new File(rootProject.projectDir, '../node_modules/appcenter/android')
Anmärkning
På grund av att jCenter-supporten avslutats flyttades alla våra sammansättningar till Maven Central-lagringsplatsen. Följ den här guiden om migrering från jCenter till Maven Central.
Öppna projektets build.gradle-fil på appnivå (
android/app/build.gradle
) och lägg till följande rader idependencies
avsnittet:dependencies { implementation project(':appcenter-crashes') implementation project(':appcenter-analytics') implementation project(':appcenter') ... }
Ändra appens MainApplication.java-fil så att den innehåller kod för att starta SDK:
- Lägg till dessa rader i importavsnittet
import com.microsoft.appcenter.reactnative.crashes.AppCenterReactNativeCrashesPackage; import com.microsoft.appcenter.reactnative.analytics.AppCenterReactNativeAnalyticsPackage; import com.microsoft.appcenter.reactnative.appcenter.AppCenterReactNativePackage;
- Lägga till AppCenter-paket i
List<ReactPackage> getPackages()
metoden
@Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new AppCenterReactNativeCrashesPackage(MainApplication.this, getResources().getString(R.string.appCenterCrashes_whenToSendCrashes)), new AppCenterReactNativeAnalyticsPackage(MainApplication.this, getResources().getString(R.string.appCenterAnalytics_whenToEnableAnalytics)), new AppCenterReactNativePackage(MainApplication.this) ); }
Öppna strings.xml fil (
android/app/src/main/res/values
) och lägg till följande rader inuti<resources></resources>
taggar:<string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string> <string name="appCenterCrashes_whenToSendCrashes" moduleConfig="true" translatable="false">DO_NOT_ASK_JAVASCRIPT</string>
Skapa en ny fil med namnet appcenter-config.json i
android/app/src/main/assets/
med följande innehåll och ersättAPP_SECRET_VALUE
med ditt apphemlighetsvärde.{ "app_secret": "APP_SECRET_VALUE" }
Varning
Vi rekommenderar inte att du bäddar in din apphemlighet i källkoden.
3.5 Om du använder automatisk säkerhetskopiering för att undvika felaktig information om enheten följer du följande steg:
Anmärkning
Appar som riktar in sig på Android 6.0 (API-nivå 23) eller senare har automatisk säkerhetskopiering aktiverad automatiskt.
Anmärkning
Om du redan har en anpassad fil med säkerhetskopieringsregeln växlar du till det tredje steget.
a. Skapa appcenter_backup_rule.xml fil i mappen android/app/src/main/res/xml .
b) Öppna projektets AndroidManifest.xml-fil .
android:fullBackupContent
Lägg till attributet i elementet<application>
. Den bör peka på resursfilenappcenter_backup_rule.xml .
android:fullBackupContent="@xml/appcenter_backup_rule"
Punkt c Lägg till följande säkerhetskopieringsregler i filenappcenter_backup_rule.xml :
<full-backup-content xmlns:tools="http://schemas.android.com/tools">
<exclude domain="sharedpref" path="AppCenter.xml"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence"/>
<exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
<exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
<exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
</full-backup-content>
4. Starta SDK
Nu kan du skapa och starta ditt program antingen från kommandoraden eller Xcode/Android Studio.
4.1 Skapa och kör programmet från kommandoraden
Du kan skapa och starta ditt iOS-program med följande kommando:
react-native run-ios
Tips/Råd
Du kan starta den på en iOS-simulator eller iOS-enhet genom att ange iOS-enhetsnamnet i react-native run-ios --device "myDeviceName"
.
Du kan skapa och starta ditt Android-program med följande kommando:
react-native run-android
Tips/Råd
Du kan starta den på en Android-emulator eller android-enhet genom att ange enhets-ID:t i react-native run-android --deviceId "myDeviceId"
(deviceId
från adb devices
kommandot).
4.2 Skapa och kör ditt program från Xcode eller Android Studio
För iOS öppnar du projektets ios/{appname}.xcworkspace
eller ios/{appname}.xcodeproj
filen i Xcode och skapar därifrån.
Anmärkning
Om du länkade App Center automatiskt via react-native link
(som i steg 3.1) bör du öppna projektets ios/{appname}.xcworkspace
fil i Xcode. Eftersom App Center CocoaPods-beroenden bara fungerar med xcworkspace
inte xcodeproj
och ios/{appname}.xcodeproj
filen inte har App Center CocoaPods-beroenden länkade.
För Android importerar du ditt Android-projekt i Android Studio och skapar därifrån.
Du är redo att visualisera analys- och kraschdata på portalen som SDK:et samlar in automatiskt. Det krävs ingen ytterligare konfiguration. Titta på avsnitten Analys och Krascher för guider och genomgångar av API:er för att lära dig vad App Center kan åstadkomma.