Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android:错误“错配发件人ID”,同时通过PHP和GCM将通知推送到Android设备大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我正试图通过我的.PHP页面向我的手机发送通知
一切都设置正确,但我收到错误

{"multicast_id":7751536172966571167,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}

我不知道为什么因为发件人ID是对的,api也是(我已经尝试过服务器密钥和浏览器密钥,只是为了确定).

我真的不知道我哪里错了!

在我的应用程序中我只有发件人ID,所有都已经正确,在我的服务器中我已经获得了浏览器的密钥(现在):

<>PHP require_once("../pi_classes/commonSetTing.PHP");
include('../pi_classes/User.PHP');
ini_set("display_errors",1);
class GCM{
    function __construct(){}
    public function send_notification($registatoin_ids,$messagE){
        // Google Api KEY
        define("GOOGLE_API_KEY","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
        $url="https://android.googleapis.com/gcm/send";
        $fields=array(
            "registration_ids"=>$registatoin_ids,"data"=>$message,);
        var_dump($fields);
        $headers=array(
            "Authorization: key=".GOOGLE_API_KEY,"Content-Type: application/json"
        );
        $ch=curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_POST,truE);
        curl_setopt($ch,CURLOPT_httpHEADER,$headers);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,CURLOPT_SSL_VERIFYPEER,falsE);
        curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($fields));
        $result=curl_exec($ch);
        if($result===falSE){
            die("Curl Failed: ".curl_error($ch));
        }
        curl_close($ch);
        echo $result;
    }
}
// ======================
//=INVIA LE NOTIFICHE AGLI UTENTI =
// ======================
$messaggio="Ciao,sono una notifica!";
$pushCounter=0;
$registatoin_ids=array();
$result=MysqL_query("SELECT android_regi_id FROM user_details");
while($row=MysqL_fetch_array($result)){
    $token=$row["android_regi_id"];
    if($token!=""){
        $registatoin_ids[]=$token;
        $pushCounter++;
    }
}
if($pushCounter>0){
    $gcm=new GCM();
    $message=array("price"=>$messaggio);
    $result_android=$gcm->send_notification($registatoin_ids,$messagE);
    echo $result_android;
}
最佳答案
我有同样的问题.

解决方案是使用我的项目编号而不是API_KEY为android应用程序中的sender_id.
在服务器脚本上,您必须保留API_KEY.

您可以在Google Developers Console上项目内的“概述”标签中查看项目编号.

大佬总结

以上是大佬教程为你收集整理的Android:错误“错配发件人ID”,同时通过PHP和GCM将通知推送到Android设备全部内容,希望文章能够帮你解决Android:错误“错配发件人ID”,同时通过PHP和GCM将通知推送到Android设备所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。