@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 +19 -1
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/9.0.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
- package/android/build.gradle +7 -9
- package/android/src/main/java/com/appmetricapush/AppMetricaPushModule.kt +8 -7
- package/package.json +1 -1
- package/src/AppMetricaPushModule.ts +7 -0
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>
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#
|
|
2
|
-
gradle.version=9
|
|
1
|
+
#Fri Dec 26 14:30:41 YAKT 2025
|
|
2
|
+
gradle.version=8.9
|
package/android/build.gradle
CHANGED
|
@@ -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
|
-
//
|
|
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
|
*/
|