مستندات MBaaS

راهنمای جامع استفاده از سرویس‌های MBaaS

پیام درون برنامه‌ای

راهنمای نصب و پیکربندی سرویس پیام درون برنامه‌ای

نصب کتابخانه و پیش‌نیازها برای پیام درون برنامه‌ای

برای اضافه کردن کتابخانه ابتدا باید آدرس repository خدمات MBaaS را به repository های موجود در فایل settings.gradle اضافه کنید.

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven {
            url = uri("https://repo.xstudioo.ir/repository/mbaas/")
        }
    }
}

کتابخانه Mbaas

برای استفاده از هر سرویس MBaaS ابتدا باید کتابخانه‌ی core MBaaS را اضافه کنید. این کتابخانه وظایف اساسی MBaaS ازجمله دریافت و مدیریت توکن، ارسال لاگ‎های پیش‎فرض و لاگ‎های کاربر و به‎روز رسانی آن‎ها را برعهده دارد.

implementation("com.toobatech.mbaas:mbaas:1.0.0")

کتابخانه‌ی mbaas-inappmessaging

جهت دریافت، مدیریت و ذخیره کردن پیام‌های درون برنامه‌ای باید کتابخانه‌ی mbaas-inappmessaging را اضافه کنید.

implementation("com.toobatech.mbaas:inappmessaging:1.1.0")

کتابخانه‌ی mbaas-inappmessaging-display

جهت نمایش مدل‎های مختلف پیام درون برنامه‌ای، کتابخانه‌ی mbaas-inappmessaging-display را اضافه کنید.

implementation("com.toobatech.mbaas:inappmessaging-display:1.1.0")

افزودن تنظیمات MBaaS

فایل mbaas-services.json برداشته شده از کنسول را دانلود کرده و در پوشه‌ی assets قرار دهید.

ارسال لاگ

علاوه بر لاگ هایی که برنامه به صورت پیش فرض ارسال میکند، می توانید لاگ های دلخواه نیز ارسال کنید. برای ارسال سن کاربر، تابع setUserProperty را با نام age فراخوانی کنید و برای ارسال جنسیت کاربر، تابع setUserProperty را با نام gender فراخوانی کنید.

Button btnSubmit = findViewById(R.id.button_submit);
 btnSubmit.setOnClickListener(v -> {
    TextView tvAge = findViewById(R.id.editText_age);
    String age = tvAge.getText().toString().trim();
    if (!age.isEmpty())
        MBaaS.getInstance()
                .setUserProperty("age", tvAge.getText().toString());
});
RadioGroup radioGroup = findViewById(R.id.radioGroup);
radioGroup.setOnCheckedChangeListener((group, checkedId) -> {
    String gender = null;
    // Check which radio button was clicked
    if (checkedId == R.id.radioButton_male) {
        gender = "M";
    } else if (checkedId == R.id.radioButton_female) {
        gender = "F";
    }
    // If a valid gender is selected, call setUserProperty
    if (gender != null) {
        MBaaS.getInstance().setUserProperty("gender", gender);
    }
});

بازیابی توکن دستگاه

برای دسترسی به توکن فعلی MBaaS.getInstance().getToken() را صدا بزنید:

MBaaS.getInstance().getToken().addOnCompleteListener(task -> {
    if (!task.isSuccessful()) {
        Log.w(TAG, "Fetching registration token failed", task.getException());
        Toast.makeText(Example.this, R.string.error_message_token, Toast.LENGTH_SHORT).show();
        return;
    }
    // Get new registration token
    String token = task.getResult();

    Log.d(TAG, token);
    TextView tv = findViewById(R.id.textView_token);
    tv.setText(token);
});

هدایت کاربر به صفحات مختلف با تعامل با پیام

جهت تغییر عملکرد پیش‎فرض کلیک بر روی پیام اگر در سایت، deepLink ست شده باشد، باید آن را در فایل manifest تعریف کنید.

<activity
    android:name=".Profile"
    android:exported="true"
    android:label="@string/profile">
    <intent-filter>
        <category android:name="android.intent.category.DEFAULT" />
        <action android:name="OPEN_PROFILE" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Example deep link: mbaas://profile -->
        <data android:scheme="mbaas" android:host="profile" />
    </intent-filter>
</activity>

رویدادهای سفارشی

جهت تعریف رویدادهای سفارشی از متد logEvent استفاده کنید که پارامتر اول این تابع نام رویداد و پارامتر دوم آن داده هایی است که در قالب bundle به همراه رویداد ارسال خواهد شد.

import com.toobatech.mbaas.inappmessaging.MBaaSInAppMessaging;

MBaaSInAppMessaging.getInstance(MainActivity.this).logEvent("my_custom_event", new Bundle());

مستندات کامل پیام درون برنامه‌ای

برای اطلاعات بیشتر، مستندات کامل را دانلود کنید

دانلود PDF