gpt4 book ai didi

android - Xamarin 中的后台推送通知

转载 作者:可可西里 更新时间:2023-11-01 03:44:55 24 4
gpt4 key购买 nike

请考虑以下问题:

我正在使用 Xamarin 的以下插件来执行推送通知,我试图让它在 iOS 和 Android 上运行。

https://github.com/CrossGeeks/FirebasePushNotificationPlugin

我还使用以下 PHP 代码从网站向设备发送推送通知。

$fields = array
(
'to' => $ID->notification_token,
"content_available" => true,
'priority'=>10,
'notification' => array('title' => 'You have a new message', 'body' => 'Hooray', 'sound'=>'default', 'vibration'=>'default'),
);

$headers = array
(
'Authorization: key=' . PUSH_NOTIFICATION_API_ACCESS_KEY,
'Content-Type: application/json',
);

$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
echo $result;

现在问题出在 iOS 上我发现推送通知是可靠的并且当应用程序在前台时运行完美 我再次将它置于前台,然后它在后台时发送的所有通知都立即通过。

根据插件“入门”指南,我在我的 info.plist 中启用了后台进程。

我已经尝试将 content_availiable 更改为 content-availiable,还将其移动到通知数组中,并将其值设置为 true'true'1'1'

我也尝试过将 "alert"=> "" 添加到通知和整体有效负载中,但是我仍然无法在前台解锁状态之外工作。

我还注意到在实际的通知列表中似乎没有任何东西被触发(从屏幕顶部下拉),我知道正在接收通知的唯一方法是播放某个声音文件并写入在调试日志中。

感谢您抽出宝贵时间提供任何帮助。

最佳答案

确保您的消息 Json 具有 {"content-available": "1", "alert": ""} 属性,如果您希望它在不在后台运行时显示在 iOS 上.

至于 Android,推送通知确实不是 100% 可靠,设备特定的障碍可能会阻止您的通知显示。

Firebase 上可能有一个“测试发送”功能(到目前为止我只使用过 Azure Push Hub)所以你可以尝试看看你的消息 Json 是否配置正确。

关于android - Xamarin 中的后台推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48166747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com