@suro4ek/appmetrica-push-sdk 1.0.2 → 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
- Добавьте в `android/app/src/main/AndroidManifest.xml`:
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>
File without changes
@@ -1,2 +1,2 @@
1
- #Thu Dec 25 09:38:41 YAKT 2025
2
- gradle.version=9.0.0
1
+ #Fri Dec 26 14:30:41 YAKT 2025
2
+ gradle.version=8.9
@@ -28,17 +28,15 @@ android {
28
28
 
29
29
  dependencies {
30
30
  implementation "com.facebook.react:react-native:+"
31
-
31
+
32
32
  // Kotlin
33
33
  implementation "org.jetbrains.kotlin:kotlin-stdlib:2.1.20"
34
-
35
- // AppMetrica Push SDK (только основные зависимости)
34
+
35
+ // AppMetrica Push SDK
36
36
  implementation("io.appmetrica.analytics:push:4.2.1")
37
- implementation("androidx.legacy:legacy-support-v4:1.0.0")
38
-
39
- // Firebase dependencies (будут переопределены основным проектом)
40
- implementation platform('com.google.firebase:firebase-bom:33.2.0')
41
- implementation 'com.google.firebase:firebase-messaging'
42
- implementation 'com.google.firebase:firebase-messaging-ktx'
43
37
  implementation("io.appmetrica.analytics:push-provider-firebase:4.2.1")
38
+ implementation("androidx.legacy:legacy-support-v4:1.0.0")
39
+
40
+ // Firebase - используем compileOnly, чтобы версии брались из основного проекта
41
+ compileOnly 'com.google.firebase:firebase-messaging:24.0.0'
44
42
  }
@@ -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
- // Инициализация AppMetrica Push
36
- AppMetricaPush.activate(reactApplicationContext)
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 initialized successfully")
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", e.message)
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@suro4ek/appmetrica-push-sdk",
3
- "version": "1.0.2",
3
+ "version": "1.0.6",
4
4
  "description": "React Native library for Yandex AppMetrica Push SDK",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -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
  */