소스 검색

[공통][New] FCM 토픽 구독

hyodong.min 6 년 전
부모
커밋
73adf8a140

+ 26 - 17
app/src/main/java/kr/co/zumo/app/lifeplus/helper/FirebaseHelper.java

@@ -3,22 +3,22 @@
  */
 package kr.co.zumo.app.lifeplus.helper;
 
-import android.support.annotation.NonNull;
 import android.util.Log;
 
-import com.google.android.gms.tasks.OnCompleteListener;
-import com.google.android.gms.tasks.Task;
 import com.google.firebase.iid.FirebaseInstanceId;
-import com.google.firebase.iid.InstanceIdResult;
+import com.google.firebase.messaging.FirebaseMessaging;
 
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.disposables.Disposable;
 import io.reactivex.schedulers.Schedulers;
 import kr.co.zumo.app.lifeplus.bean.api.TokenRequestBean;
+import kr.co.zumo.app.lifeplus.config.INetworkConfig;
+import kr.co.zumo.app.lifeplus.config.NetworkConfigProvider;
 import kr.co.zumo.app.lifeplus.model.BasicParamProvider;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
 import kr.co.zumo.app.lifeplus.network.api.ParameterMapper;
+import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
 import kr.co.zumo.app.lifeplus.view.ToastProvider;
 
@@ -50,23 +50,32 @@ public class FirebaseHelper {
     // Get token
     // [START retrieve_current_token]
     FirebaseInstanceId.getInstance().getInstanceId()
-      .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
-        @Override
-        public void onComplete(@NonNull Task<InstanceIdResult> task) {
-          if (!task.isSuccessful()) {
-            Log.e("APP#  FirebaseHelper | onComplete", "|" + "getInstanceId failed", task.getException());
-            return;
-          }
+      .addOnCompleteListener(task -> {
+        if (!task.isSuccessful()) {
+          Log.e("APP#  FirebaseHelper | onComplete", "|" + "getInstanceId failed", task.getException());
+          return;
+        }
 
-          // Get new Instance ID token
-          String token = task.getResult().getToken();
+        // Get new Instance ID token
+        String token = task.getResult().getToken();
 
-          // Log and toast
-          Log.d("APP# FirebaseHelper | onComplete", "|" + " token: " + token);
-          sendRegistrationToServer(token);
-        }
+        // Log and toast
+        Log.d("APP# FirebaseHelper | onComplete", "|" + " token: " + token);
+        sendRegistrationToServer(token);
       });
     // [END retrieve_current_token]
+
+    INetworkConfig networkConfig = NetworkConfigProvider.getNetworkConfig(AppUtil.isDebug());
+
+    FirebaseMessaging.getInstance().subscribeToTopic(networkConfig.getFcmTopic())
+      .addOnCompleteListener(task -> {
+        if (task.isSuccessful()) {
+          Log.d("APP# FirebaseHelper | onComplete", "|" + " topic subscribe success");
+        }
+        else {
+          Log.e("APP#  FirebaseHelper | onComplete", "|" + " topic subscribe failed");
+        }
+      });
   }
 
   /**

+ 1 - 1
app/src/product/java/kr/co/zumo/app/lifeplus/config/NetworkConfigProvider.java

@@ -2,7 +2,7 @@ package kr.co.zumo.app.lifeplus.config;
 
 import android.util.Log;
 
-public class NetworkConfigSetup {
+public class NetworkConfigProvider {
 
   protected static INetworkConfig networkConfig;