Flutter’da OneSignal ile Bildirim Göndermek

NOT: Bu döküman boyunca bir hata ile karşılaşacak olursanız, dökümanın sonunda yer alan ‘UYARILAR’ alt başlığını kontrol edin.

1. Flutter Uygulamanıza OneSignal’ı Entegre Edin

OneSignal Flutter paketi için aşağıdaki adımları takip edin:

  • Paketi eklemek için şu komutu çalıştırın: flutter pub add onesignal_flutter
  • OneSignal üzerinden bir hesap oluşturun ve uygulamanızın bilgileriyle entegrasyon işlemini gerçekleştirin.
  • OneSignal’in size verdiği appId’yi kopyalayın ve aşağıdaki gibi main.dart dosyanızda ekleyin:

    import 'package:onesignal_flutter/onesignal_flutter.dart';

    void main() {
        OneSignal.initialize("");
    }
    

2. Uygulama İçinden Bildirim Gönderme

Aşağıdaki kod ile tüm kullanıcılara bildirim gönderebilirsiniz:


    import 'package:dio/dio.dart';
    import 'dart:convert';

    Future sendNotificationToAll(String message) async {
        final dio = Dio();
        final body = jsonEncode({
            'app_id': '',
            'android_small_icon': "ic_stat_onesignal_default",
            'included_segments': ['All'],
            'contents': {'en': message},
        });

        try {
            final response = await dio.post(
                'https://onesignal.com/api/v1/notifications',
                data: body,
                options: Options(
                    headers: {
                        'Content-Type': 'application/json; charset=utf-8',
                        'Authorization': 'Basic ',
                    },
                ),
            );
        } catch (e) {
            print("Hata: $e");
        }
    }
    

3. Bildirim İkonunu Özelleştirme

Bildirim ikonunu kişiselleştirmek için şu adımları takip edin:

  • Notification Icon Generator kullanarak bir ikon oluşturun.
  • İndirilen dosyaları \android\app\src\main\res\ klasörüne ekleyin.
  • AndroidManifest.xml dosyasına aşağıdaki kodu ekleyin:

<meta-data
android:name="com.onesignal.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_onesignal_default"/>
    

UYARILAR

Eğer hatalar ile karşılaşırsanız, aşağıdaki çözümleri uygulayın:

Hata 1 – SDK Uyumsuzluğu

compileSdkVersion sürümünüzü 33 olarak ayarlayın:


    android {
        compileSdkVersion 33
    }
    

Hata 2 – Multidex Hatası

64K metod sınırını aşmamak için aşağıdaki bağımlılığı ekleyin:


    dependencies {
        implementation 'com.android.support:multidex:2.0.1'
    }
    

Tümü bu kadardı. Zevkli kodlamalar!

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir