请我需要帮助发送推送通知给任何人安装我的应用程序在他们的Android手机上获得推送通知每次我创建一个职位使用PHP作为后端.
下面是我的代码:
$response = array();
require_once __DIR__.'/exponent-server-sdk-php/vendor/autoload.php';
$channelName = 'video_alert';
$recipient = 'ExponentPushToken[AAAAnrlyESE:APA91bHYeOkFi5MlUB9eitKn1yEuReJ1dNrRSnlMob0lcBLAjoanDaAIposGTBWQD164CGMV8F0hriJtsXuaFPdoKxEpjtrnXshoxlZQmxdlrCjP_F5TyRToNGP43YqwahCd6XYhKvwX]';
// You can quickly bootup an expo instance
$expo = \ExponentPhpSDK\Expo::normalSetup();
// Subscribe the recipient to the server
$expo->subscribe($channelName, $recipient);
// Unsubscribe the recipient from the server
$expo->unSubscribe($channelName, $recipient);
// Build the notification data
$notification = ['title' => 'Watch Movies', 'body' => 'Catch new latest movie ('.$movie_title.') on DooBuxx Movies today!', 'data' => json_encode(array('notification_type' => 'service_requested'))];
try {
// Notify an interest with a notification
$expo->notify([$channelName], $notification);
} catch (ExpoException $e) {
$response["message"] = $e->getMessage();
}
对于以下部分:
$channelName = 'video_alert';
$recipient = 'ExponentPushToken[Server key]'; // I Inserted the server key i got from my firebase dasboard here. The package name is ok
服务器密钥是正确的吗?还是什么?这是我认为我做得不对的地方。但我不知道还能放什么。
正如您所看到的,我使用了从GitHub克隆的exponent-server-sdk-php来发送推送通知,但它在发布到服务器后没有发送任何内容。
有什么地方我做错了吗?我也检查了错误日志,但那里没有错误。
当我第一次发布时,虽然创建了一个令牌文件,但没有向安装了该应用程序的Android手机发送通知。
我已经配置了我的firebase证书的React原生项目,我正在建设后,从博览会网站here的指示,但都无济于事。
我知道我在这里做得不好,但似乎还想不出来。请帮帮我。
1条答案
按热度按时间j7dteeu81#
它不是服务器密钥,而是一个标识用户设备的令牌。使用Expo,你可以通过运行
Notifications.getExpoPushTokenAsync()
来获得它。它给你一个令牌,看起来像ExponentPushToken[unique1]
,其中unique 1是唯一标识符。你应该将它存储在后端,并在你想向该特定设备发送通知的地方调用它。然后,您应该为要发送通知的每个令牌(设备)订阅一个收件人。
示例来自doc: