SDK · نسخه 1.0.0

SDK اندروید ایران‌ناتیفیکیشن

اعلان پوش برای اپ‌های اندروید، با Kotlin و Java

SDK رسمی IRNoti برای ثبت دستگاه، دریافت و نمایش اعلان‌های Firebase، بخش‌بندی کاربران و گزارش تحویل و کلیک. با یک خط راه‌اندازی در Application کار می‌کند.

امکانات

ثبت خودکار دستگاه

توکن FCM دریافت، ثبت و در صورت تغییر خودکار به‌روز می‌شود.

تاپیک، تگ و شناسه کاربر

مخاطبان را با Topic، Tag، External ID و Alias بخش‌بندی و هدف‌گیری کنید.

رویدادهای رفتاری

رویدادهای برنامه (مثل خرید) را با پارامتر ثبت کنید تا برای هدف‌گیری استفاده شوند.

گزارش تحویل و کلیک

تحویل، کلیک و دکمه‌ها با صف پایدار و تلاش مجدد خودکار گزارش می‌شوند.

لینک و دیپ‌لینک

باز کردن لینک وب یا دیپ‌لینک برنامه با کلیک روی اعلان یا دکمه‌های آن.

اعلان تصویری و دکمه‌دار

تصویر و حداکثر دو دکمهٔ عملیاتی برای هر اعلان.

Kotlin و Java

API عمومی از هر دو زبان قابل استفاده است.

اعلان در پیش‌زمینه و پس‌زمینه

نمایش عنوان، متن، آیکون و تصویر بزرگ با کانال اعلان اختصاصی.

پیش‌نیازها

  • ✓ اندروید ۶٫۰ یا بالاتر (minSdk 23) و compileSdk 35 یا بالاتر
  • ✓ پروژه Firebase با اپ اندروید و فایل google-services.json
  • ✓ سرویس «اعلان پوش» فعال در یک پروژهٔ IRNoti و کلید عمومی اپ

پروژه Firebase برنامه و پروژهٔ سرویس‌اکانتی که در IRNoti ثبت کرده‌اید باید یکی باشد. فقط کلید عمومی (pk_live_…) داخل برنامه قرار می‌گیرد.

شروع در سه قدم

  1. ۱

    سرویس پوش را در پروژه فعال کنید

    در پنل یک سازمان و پروژه بسازید، سرویس «اعلان پوش» را فعال کنید و با فایل سرویس‌اکانت Firebase یک اپ بسازید.

  2. ۲

    کلید عمومی را در برنامه بگذارید

    کلید عمومی اپ (pk_live_…) را از پنل کپی و SDK را در برنامه راه‌اندازی کنید. فقط همین کلید داخل برنامه قرار می‌گیرد.

  3. ۳

    اولین اعلان را بفرستید

    از پنل یا از سرور خودتان با کلید API پروژه ارسال کنید و روی دستگاه واقعی دریافت کنید.

نصب و راه‌اندازی

settings.gradle.kts
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://jitpack.io") }
    }
}
app/build.gradle.kts
dependencies {
    implementation("com.github.irnoti:andriod-sdk:1.0.0")
}
Application.kt
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        Irnoti.init(
            this,
            IrnotiConfig(
                appKey = "pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                smallIcon = R.drawable.ic_stat_notify,
            ),
        )
    }
}

متدهای اصلی

Irnoti.init(context, config)راه‌اندازی SDK و ثبت دستگاه
Irnoti.setNotificationsEnabled(Boolean)اعلام وضعیت مجوز اعلان (اندروید ۱۳ به بالا)
Irnoti.identify(externalId, aliases)اتصال دستگاه به کاربر شما
Irnoti.subscribe(topic) / unsubscribe(topic)عضویت در تاپیک و لغو آن
Irnoti.setTags(map)تنظیم تگ‌ها (مقدار null یعنی حذف)
Irnoti.track(name, props)ثبت رویداد
Irnoti.logout() / unregister()جداکردن کاربر یا حذف کامل دستگاه

همهٔ متدها غیرهمزمان‌اند و پیش از ثبت دستگاه هم می‌توان آن‌ها را صدا زد. راهنمای کامل در README مخزن.

سوالات متداول

SDK را از کجا بگیرم؟

از JitPack با مخزن irnoti/andriod-sdk (املای مخزن دقیقاً همین است) و آخرین نسخهٔ منتشرشده.

کدام کلید داخل برنامه می‌رود؟

فقط کلید عمومی (pk_live_…). فایل سرویس‌اکانت Firebase و کلید API پروژه محرمانه‌اند و نباید در برنامه یا Git قرار بگیرند.

برنامه‌ام از قبل سرویس Firebase دارد، چه کنم؟

در سرویس خودتان onNewToken و onMessageReceived را به Irnoti.onNewToken و Irnoti.handleMessage وصل کنید؛ جزئیات در README.

اعلان نمی‌رسد، مشکل از کجاست؟

پروژه Firebase اپ و پروژهٔ سرویس‌اکانت ثبت‌شده باید یکی باشد؛ مجوز اعلان (اندروید ۱۳+) و بهینه‌سازی باتری را هم بررسی کنید.

مرتبط