Merhaba! Firebase ile push notification yapmak için Unity kullanıyorsunuz ve bildirimde resim ve URL göstermek istiyorsunuz. Bunun için Firebase Cloud Messaging (FCM) servisini kullanabilirsiniz
Öncelikle, FCM ile bir bildirim göndermek için şu adımları takip etmeniz gerekir
Firebase Console'da bir proje oluşturun ve proje ayarlarında "Cloud Messaging" sekmesine gidin
"Geliştirme ve üretim anahtarları" altında, bir "sunucu anahtarı" oluşturun ve bu anahtarı Unity'de kullanmak üzere kopyalayın
Unity'de, Firebase SDK'yı projenize ekleyin ve gerekli ayarları yapılandırın. Bu adımların ayrıntılı bir açıklaması için Firebase dokümantasyonuna bakabilirsiniz
FCM API'sini kullanarak bildirimi göndermek için, Unity'de bir HTTP POST isteği yapmanız gerekiyor. İsteğinizi JSON formatında oluşturun ve aşağıdaki örnek gibi "notification" nesnesine "title", "body", "image" ve "click_action" özelliklerini ekleyin
{
"to": "<FCM token or topic>",
"notification": {
"title": "Başlık",
"body": "Mesaj İçeriği",
"image": "https://farukeren.com/image.png",
"click_action": "https://farukeren.com"
}
}
- Bu isteği Unity'de C# kodu kullanarak gönderin. İsteği göndermek için bir HTTP istemci kullanabilirsiniz. Aşağıdaki örnek, Unity'de System.Net.Http.HttpClient kullanarak HTTP POST isteği gönderir
using System;
using System.Net.Http;
using System.Threading.Tasks;
public class FirebaseMessaging
{
private const string FirebaseServerKey = "<your Firebase server key>";
public async Task SendNotification(string deviceToken, string title, string body, string imageUrl, string clickUrl)
{
var client = new HttpClient();
client.BaseAddress = new Uri("https://fcm.googleapis.com");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "key=" + FirebaseServerKey);
var message = new
{
to = deviceToken,
notification = new
{
title = title,
body = body,
image = imageUrl,
click_action = clickUrl
}
};
var response = await client.PostAsJsonAsync("/fcm/send", message);
response.EnsureSuccessStatusCode();
}
}