我想本地化服务器发送的 firebase 通知。通过 php 我向 Android 设备发送远程通知。我在 php 中使用的以下 postdata:
$postData = array(
'to' => ''.$fcmtoken,
'priority' => 'high',
'notification'=> array("body"=> "message body", "loc_key" => "body_key" "title"=> "message title", "icon" => "ic_stat_gdr_notification_icon",
"sound" => "default" ),
);
通知正在设备上正确发送,正文为“消息正文”。但我希望显示键“body_key”的本地化文本(“Cuerpo del menage”)。
另外请检查我用来接收消息的android代码:
notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_stat_gdr_notification_icon)
.setContentTitle(from)
.setContentText(message)
.setSound(defaultSoundUri)
.setContentIntent(contentIntent)
.setStyle(new NotificationCompat.BigTextStyle().bigText(message));
}
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(1, notificationBuilder.build());
在这里我不知道如何使用从通知消息中获得的密钥对其进行本地化?loc_key 是一个字符串。但在 android 中,它期望在此方法中传递 'integer':getResources().getString(R.string.body_key) 其中 'R.string.body_key' 是一个整数。
那么如何在 getString() 方法中传递 loc_key 并获取本地化文本?请帮我。