Андроід
Перш ніж розпочати інтеграцію з Android, переконайтеся, що налаштування Налаштування - Firebase було повністю завершено.
Примітка
Push-сповіщення доступні з Targets API рівня 19 (KitKat) та Android 4.4 і новіших версій.
- Помістіть файл
google-services.json
в папку додатку на рівні додатку. - Додайте пакет Google Services до додатку:
- У Gradle-файл кореневого рівня
build.gradle
додайте плагін Google Service:
buildscript { repositories { google() // Maven-репозиторій Google } dependencies { // ... classpath 'com.google.gms:google-services:4.3.10' // плагін Google Services } } allprojects { // ... repositories { // ... google() // Maven-репозиторій Google // ... } }
- У Gradle-файлі рівня додатку
build.gradle
застосуйте плагін:app/build.gradleзастосовуємо плагін: 'com.android.application' застосовуємо плагін: 'com.google.gms.google-services' // плагін Google Services android { // ... }
- У Gradle-файл кореневого рівня
-
Інтеграція Firebase SDK.
-
У файлі gradle на рівні програми
build.gradle
оголосіть залежності з/без Firebase Android BOM:app/build.gradledependencies {{ залежність implementation platform('com.google.firebase:firebase-bom:29.0.0') implementation 'com.google.firebase:firebase-messaging' implementation 'com.google.firebase:firebase-analytics' // якщо потрібна Firebase Analytics }
app/build.gradledependencies {'''dependencies''' implementation 'com.google.firebase:firebase-messaging:23.0.0' implementation 'com.google.firebase:firebase-analytics:20.0.0' // якщо потрібна Firebase Analytics }
app/build.gradledependencies {{ dependencies implementation platform('com.google.firebase:firebase-bom:29.0.0') implementation 'com.google.firebase:firebase-messaging-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' // якщо потрібна Firebase Analytics }
app/build.gradledependencies {{ dependencies 'com.google.firefox' implementation 'com.google.firebase:firebase-messaging-ktx:23.0.0' implementation 'com.google.firebase:firebase-analytics-ktx:20.0.0' // якщо потрібна Firebase Analytics }
-
Додайте сервіс в маніфест:
app/src/main/AndroidManifest.xml<service android:name=".java.MyFirebaseMessagingService" android:exported="false">> android:exported="false <intent-filter <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </intent-filter </service>
app/src/main/AndroidManifest.xml<service android:name=".kotlin.MyFirebaseMessagingService" android:exported="false">> android:exported="false <intent-filter <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </intent-filter </service>
-
Створити метод
FirebaseMessaging.getInstance().getToken()
для отримання поточного токену. Приклад класуMainActivity
:MainActivity.java1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityMainBinding binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); binding.logTokenButton.setOnClickListener(new View.OnClickListener() { Перевизначити public void onClick(View v) { FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(new OnCompleteListener<String>() { Перевизначити public void onComplete(@NonNull Task<String> task) { //Обмеження if (!task.isSuccessful()) { return; } Рядок token = task.getResult(); String msg = getString(R.string.msg_token_fmt, token); // надсилаємо запит до методу NeuCurrent на реєстрацію токену згідно з інтерфейсом Swagger UI } }); } } } }
MainActivity.kt1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
class MainActivity : AppCompatActivity() { перевизначити fun onCreate(savedInstanceState: Зв'язка?) { } } super.onCreate(savedInstanceState) val binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) binding.logTokenButton.setOnClickListener { FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->) if (!task.isSuccessful) { return@OnCompleteListener } val token = task.result val msg = getString(R.string.msg_token_fmt, token) // надсилаємо запит до методу NeuCurrent для реєстрації токену згідно Swagger UI }) } } }
Надсилання запиту за допомогою NeuCurrent API
Зверніть увагу, що в коді ви повинні відправити HTTP-запит до NeuCurrent API з отриманим токеном пристрою на https://app.neucurrent.com/push/api/v1/device-token/add. Документація: https://app.neucurrent.com/push/api/v1/docs
-
Створіть файл
MyFirebaseMessagingService
та додайте метод отримання регенерованого токену:public class MyFirebaseMessagingService extends FirebaseMessagingService { @Override public void onNewToken(String token) { // надсилаємо запит до методу NeuCurrent на реєстрацію токену згідно з Swagger UI } }
class MyFirebaseMessagingService : FirebaseMessagingService() { перевизначити fun onNewToken(token: String) { // надсилаємо запит до Firebase Messaging Service // надсилаємо запит до методу NeuCurrent для реєстрації токену згідно Swagger UI } }
-
-
Вітаємо! Ви завершили процес інтеграції.
Додаткові джерела: