FCM服务端 - 谷歌云推送 - “errorCode“: “SENDER_ID_MISMATCH“-故障记录
前言
2020.10.27 我没解决,记录一些思路,这些问题其他人没有出现唯独我出现了,为什么。
2020.10.28 进度更新
2020.10.29 故障解决
核心代码
main
public class BaoTest {
private static final String String = null;
// 设备的token值
public static String token =
"AAAARWGhpmw:APA91bE6E7KCs-Tvjh5526LxGL-l1vYySzsnfNN8GhUpt9avG8bsjJEgqPX_txHBgHgfQ2BEt4Ms4aFRZGI7dbRm_pWy7JDqn1mIF9NYBU7WeLrOPt1j3GIll6njvxKkyp7r-q23hlh9";
// 渠道名字,也是APP的名字
// public static String appName = "VisionC";// 无关内容判别
// 主题名字
// public static String topic = "China";
// 通知消息题目
public static String title = "tip";
// 通知消息内容
public static String body = "body";
// 测试内容
public static void main(String args[]) throws Exception {
// 添加tokens
List<String> tokens = new LinkedList();
tokens.add(token);
// 设置Java代理,端口号是代理软件开放的端口,这个很重要。
System.setProperty("proxyHost", "localhost");
System.setProperty("proxyPort", "8580"); // 1080,8580
// String jsonPath = "path/to/serviceAccountKey.json" ;
// String dataUrl = "https://telecomm-773e6e.firebaseio.com/";
// String jsonPath = "D:\\eclipse_workplace_learn\\HelloSpringMVC\\src\\main\\resources\\"
// //+ "baotestserver-firebase-adminsdk-whfsf-311cd00bee"
// +"visionc-cd27f-firebase-adminsdk-rdqff-26955b119f"
// + ".json" ;
// 初始化FirebaseApp
if (!FireBaseUtil.initSDK())
return;
System.out.println("FireBaseUtil init over");
FireBaseUtil.pushSingle(token, title, body); // 单推
//
//
// FireBaseUtil.registrationTopic(appName, tokens, topic); //设置主题
//
// FireBaseUtil.sendTopicMes(appName, topic, title, body); //按主题推送
//
// FireBaseUtil.cancelTopic(appName, tokens, topic); //取消主题
//
// 安卓设备推送
// FireBaseUtil.pushSingleToAndroid(appName, token, title, body);
// FireBaseUtil.registrationTopic(appName, tokens, topic); //设置主题
// FireBaseUtil.sendTopicMesToAndroid(appName, topic, title, body);
}
}
FireBaseUtil
工具类
package com.bao;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.common.annotations.VisibleForTesting;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.UserRecord;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.messaging.*;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Component;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
/**
* {@code description: FireBaseUtil Firebase Cloud Message}
* Google_FireBase推送工具类
*
* @author zhangkai
* @version 1.0
* @since 2019/7/5 15:48
*/
@Component
public class FireBaseUtil {
//获取AndroidConfig.Builder对象
private static AndroidConfig.Builder androidConfigBuilder = AndroidConfig.builder();
//获取AndroidNotification.Builder对象
private static AndroidNotification.Builder androidNotifiBuilder = AndroidNotification.builder();
public static FirebaseApp firebaseApp;
// Retrieve services by passing the defaultApp variable...
public static FirebaseAuth defaultAuth ;
public static FirebaseDatabase defaultDatabase ;
public static boolean initSDK() {
try {
//设置环境
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.getApplicationDefault())
.setDatabaseUrl("https://visionc-cd27f.firebaseio.com")
.build();
firebaseApp = FirebaseApp.initializeApp(options);
// Retrieve services by passing the defaultApp variable...
defaultAuth = FirebaseAuth.getInstance(firebaseApp); //not used
defaultDatabase = FirebaseDatabase.getInstance(firebaseApp); //not used
System.out.println(firebaseApp.getName())