我在向Android发送通知时收到InvalidRegistration

时间:2017-05-04 06:01:15

标签: android firebase firebase-cloud-messaging

我试图使用php curl向android发送通知,但我得到了这个:

columns:
    property_id:
        label: Property
        type: text
        searchable: true
        sortable: false
        relation: Property
        valueFrom: street_number
    start_datetime:
        label: 'Start Date Time'
        type: datetime
        searchable: true
        sortable: true
    end_datetime:
        label: 'End Date Time'
        type: datetime
        searchable: true
        sortable: true
    status:
        label: Status
        type: number
        searchable: true
        sortable: true
        select: 'CASE WHEN (status =  ''1'' ) THEN ''Active'' ELSE ''Inactive'' END'

我在android中使用以下代码获取令牌:

{"multicast_id":6460600019383907027,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}

4 个答案:

答案 0 :(得分:1)

实际上我在数据库中有最小字段长度来存储实例ID,所以当我将字段长度增加到300时,不会保存完整的id

答案 1 :(得分:0)

您的设备ID错误或者您没有使用设备ID作为字符串您没有提到您使用的语言。我在php中遇到相同的问题。我使用选择查询得到设备ID并直接asighn到字段。我得到了相同的错误。但然后我转换器值作为字符串在PHP我得到成功结果我收到通知 请检查您的设备ID

答案 2 :(得分:0)

  

无效注册令牌200 +错误:InvalidRegistration检查   您传递给服务器的注册令牌的格式。确保它   匹配客户端应用程序从中接收的注册令牌   注册Firebase通知。不要截断或添加   其他角色。

https://firebase.google.com/docs/cloud-messaging/http-server-ref

答案 3 :(得分:0)

试试这个:

@Override
    public void onTokenRefresh() {
        super.onTokenRefresh();
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();

        // Saving reg id to shared preferences
        storeRegIdInPref(refreshedToken);

        // sending reg id to your server
        sendRegistrationToServer(refreshedToken);

        // Notify UI that registration has completed, so the progress indicator can be hidden.
        Intent registrationComplete = new Intent(Config.REGISTRATION_COMPLETE);
        registrationComplete.putExtra("token", refreshedToken);
        LocalBroadcastManager.getInstance(this).sendBroadcast(registrationComplete);
    }