
在“所有用户”的Onesignal列表上,未接收通知的用户具有设置了预期纬度和长坐标的“位置点”,并且订阅了用户.我收到了没有位置发送的通知,因此发送和接收通知的过程有效.
我已将此行添加到我的AndroidManifest.xml文件中:
<uses-permission androID:name="androID.permission.ACCESS_FINE_LOCATION"/>
我的.run函数中也有这一行:
window.plugins.Onesignal.promptLocation();
我的PHP将请求发送给Onesignal:
$content = $_GET['content'];$lat = $_GET['lat'];$long = $_GET['long'];$radius = $_GET['radius'];$response = sendMessage($content,$lat,$long,$radius); function sendMessage($message,$radius){ $content = array( "en" => $message ); $fIElds = array( 'app_ID' => "aaaaaa-eeee-yyyyy-xxxx-zzzz",'filters' => array(array("fIEld" => "location","radius" => $radius,"lat" => $lat,"long" => $long)),//'filters' => array(array("fIEld" => "location","radius" => "1000","lat" => "55.819329","long" => "-4.1696119")),'included_segments' => array('All'),'data' => array("foo" => "bar"),'contents' => $content ); $fIElds = Json_encode($fIElds); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,"https://onesignal.com/API/v1/notifications"); curl_setopt($ch,CURLOPT_httpheader,array('Content-Type: application/Json; charset=utf-8','Authorization: Basic FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF')); curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); curl_setopt($ch,CURLOPT_header,FALSE); curl_setopt($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,$fIElds); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); $response = curl_exec($ch); curl_close($ch); return $response; } 请求:
{content: "test",lat: "55.8653169",long: "-4.1696119",radius: "1000"} 响应:
{allresponses: "{"ID":"","recipIEnts":0,"errors":["All included players are not subscribed"]}"}解决方法 “所有包含的玩家未订阅”消息可能意味着以下任何一种情况. >确保您已设置正确的app_ID.
>您没有订阅用户.
>您尚未在Onesignal仪表板的“应用程序设置”页面上为您的设备设置平台.
>过滤器中没有用户.
在您的情况下,位置可能超过1000米.尝试增加半径并确认您在Onesignal仪表板上的“所有用户”页面上看到“位置点”.
总结以上是内存溢出为你收集整理的cordova – 为什么我收到消息“所有包含的玩家都没有订阅”?全部内容,希望文章能够帮你解决cordova – 为什么我收到消息“所有包含的玩家都没有订阅”?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)