Я полностью потерялся в этом, получил 20 открытых вкладок, чтобы решить эту надоедливую головоломку. Я изучил несколько учебных пособий, но ни один из них не отвечает, где определить идентификатор канала и как отправить на него уведомление через PHP.
override fun onMessageReceived(remoteMessage: RemoteMessage?) {
showNotification(remoteMessage!!.data["message"]!!)
}
private fun showNotification(message: String) {
val i = Intent(this, MainActivity::class.java)
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
val pendingIntent = PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT)
val builder = NotificationCompat.Builder(this)
.setAutoCancel(true)
.setContentTitle("FCM Test")
.setContentText(message)
.setLargeIcon(BitmapFactory.decodeResource(resources, com.amoflirt.amoflirt.R.drawable.ic_vip_heart))
.setSmallIcon(com.amoflirt.amoflirt.R.drawable.common_google_signin_btn_icon_dark)
.setContentIntent(pendingIntent)
val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
manager.notify(0, builder.build())
}
Независимо от того, что я здесь изменяю, это не влияет на способ отправки / получения уведомлений, как setLargeIcon ничего не добавляет.
Это PHP:
define( 'API_ACCESS_KEY', 'xxx');
$msg = array(
'body' => $body,
'title' => $title,
);
$fields = array(
'to' => $token,
'notification' => $msg
);
$headers = array
(
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/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 );
echo $result;
curl_close( $ch );
Я пробовал все виды "решений", чтобы добавить большой значок и вибрацию с обеих сторон (Android и PHP), но ни одно из них не работает. Но самое главное, я не понимаю, как добавить проклятые каналы и как отправлять им уведомления. Почему у андроида в целом такой беспорядок и куча собачьей хрени: (
Заранее спасибо