راهنمای جامع استفاده از سرویسهای 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 ابتدا باید کتابخانهی core MBaaS را اضافه کنید. این کتابخانه وظایف اساسی MBaaS ازجمله دریافت و مدیریت توکن، ارسال لاگهای پیشفرض و لاگهای کاربر و بهروز رسانی آنها را برعهده دارد.
implementation("com.toobatech.mbaas:mbaas:1.0.0")جهت دریافت، مدیریت و ذخیره کردن پیامهای درون برنامهای باید کتابخانهی mbaas-inappmessaging را اضافه کنید.
implementation("com.toobatech.mbaas:inappmessaging:1.1.0")جهت نمایش مدلهای مختلف پیام درون برنامهای، کتابخانهی mbaas-inappmessaging-display را اضافه کنید.
implementation("com.toobatech.mbaas:inappmessaging-display:1.1.0")فایل 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());برای اطلاعات بیشتر، مستندات کامل را دانلود کنید