@suro4ek/appmetrica-push-sdk 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -27,7 +27,25 @@ npm install @appmetrica/react-native-analytics
|
|
|
27
27
|
|
|
28
28
|
### Android
|
|
29
29
|
|
|
30
|
-
Добавьте в `
|
|
30
|
+
**1. Добавьте инициализацию в `MainApplication.kt`:**
|
|
31
|
+
|
|
32
|
+
```kotlin
|
|
33
|
+
import io.appmetrica.analytics.push.AppMetricaPush
|
|
34
|
+
|
|
35
|
+
class MainApplication : Application(), ReactApplication {
|
|
36
|
+
override fun onCreate() {
|
|
37
|
+
super.onCreate()
|
|
38
|
+
|
|
39
|
+
// ВАЖНО: AppMetricaPush.activate() ДОЛЖЕН быть вызван в Application.onCreate()
|
|
40
|
+
// ДО инициализации React Native
|
|
41
|
+
AppMetricaPush.activate(this)
|
|
42
|
+
|
|
43
|
+
// ... остальной код
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**2. Добавьте в `android/app/src/main/AndroidManifest.xml`:**
|
|
31
49
|
|
|
32
50
|
```xml
|
|
33
51
|
<application>
|
|
@@ -32,20 +32,21 @@ class AppMetricaPushModule(reactContext: ReactApplicationContext) : ReactContext
|
|
|
32
32
|
try {
|
|
33
33
|
val debugMode = if (config.hasKey("debugMode")) config.getBoolean("debugMode") else false
|
|
34
34
|
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
// ВАЖНО: AppMetricaPush.activate() должен быть вызван в MainApplication.onCreate()
|
|
36
|
+
// Здесь мы только настраиваем канал уведомлений и проверяем статус
|
|
37
|
+
// Если activate() не был вызван в Application, SDK выбросит исключение при попытке использования
|
|
38
|
+
|
|
38
39
|
// Настройка дефолтного канала AppMetrica Push SDK
|
|
39
40
|
setupAppMetricaDefaultChannel()
|
|
40
|
-
|
|
41
|
+
|
|
41
42
|
if (debugMode) {
|
|
42
|
-
Log.d(TAG, "AppMetrica Push
|
|
43
|
+
Log.d(TAG, "AppMetrica Push SDK ready (activated in MainApplication)")
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
promise.resolve(true)
|
|
46
47
|
} catch (e: Exception) {
|
|
47
|
-
Log.e(TAG, "Failed to initialize AppMetrica Push", e)
|
|
48
|
-
promise.reject("INIT_ERROR",
|
|
48
|
+
Log.e(TAG, "Failed to initialize AppMetrica Push. Make sure AppMetricaPush.activate() was called in MainApplication.onCreate()", e)
|
|
49
|
+
promise.reject("INIT_ERROR", "AppMetrica Push SDK is not activated. Add AppMetricaPush.activate(this) to MainApplication.onCreate()")
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
|
package/package.json
CHANGED
|
@@ -21,6 +21,13 @@ class AppMetricaPush {
|
|
|
21
21
|
return AppMetricaPush.instance;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Статический метод инициализации (для удобства)
|
|
26
|
+
*/
|
|
27
|
+
static initialize(config: PushConfig): Promise<InitializationResult> {
|
|
28
|
+
return AppMetricaPush.getInstance().initialize(config);
|
|
29
|
+
}
|
|
30
|
+
|
|
24
31
|
/**
|
|
25
32
|
* Инициализация AppMetrica Push SDK
|
|
26
33
|
*/
|