راه‌اندازی

پس از طی کردن مراحل صفحه پیش‌نیازها، می‌توانید راه‌اندازی SDK چابک را شروع کنید. در ابتدا شما باید یک سری Dependency را به پروژه خود اضافه کنید و بعد کتابخانه چابک را نصب کنید. پس از آن، مقداردهی و راه‌اندازی کتابخانه چابک را در اپلیکیشنتان انجام دهید و برای شناخت کاربر توسط چابک، مرحله ثبت کاربر را حتما پشت سر بگذارید.

برای انجام موفق این کار باید تمام مراحل زیر را به ترتیب انجام دهید:

۱- افزودن Dependency

۲- نصب کتابخانه

۳- مقداردهی اولیه (Initialize)

۴- ثبت کاربر (Register)


۱- افزودن Dependency


در ابتدا دقت نمایید که ‍‍dependency‌ های لازم را از این قسمت دانلود کنید و در مقصد myproject/Assets/Plugins/Android قرار دهید.


۲- نصب کتابخانه


برای اضافه کردن کتابخانه چابک به پروژه‌تان باید تمام فایل‌هایی که در فولدر chabokpush است را در Scripts پروژه خودتان قرار دهید.

مدل نسخه‌گذاری در چابک (Semantic Versioning)

چابک از مدل نسخه‌گذاری MAJOR.MINOR.PATCH استفاده می‌کند. همه تغییرات نسخه‌ها بلافاصله پس از انتشارشان به صورت موردی در صفحه لیست تغییرات برای اطلاع شما اضافه می‌شوند. برای همین توصیه می‌کنیم این صفحه را حتما مطالعه نمایید. این موارد برای هر نسخه در دو بخش ارتقا (در صورت وجود ارتقا) و تغییرات برای شما نمایش داده شده‌ است.

  • Patch: تغییرات در این سطح شامل Bug Fix و قابلیت‌های بسیار کوچک می‌باشد. به روز رسانی به این نسخه‌ها نیاز به تغییری در کد ندارد. برای آگاهی از آن‌ها، باید بخش تغییرات را مطالعه کنید. به عنوان مثال به‌ روز رسانی کتابخانه چابک از نسخه 2.14.0 به نسخه 2.14.1 مربوط به این سطح می‌شود.
  • Minor: تغییرات در این سطح شامل قابلیت‌های بزرگتر و تغییر در کارکرد (Functionality) کتابخانه می‌شود. در به روز رسانی به این نسخه‌ها حتما باید بخش ارتقا و تغییرات صفحه لیست تغییرات را با دقت مطالعه کنید. در صورت بروز هر گونه مشکل در نتیجه رعایت نکردن نکات بخش ارتقا و تغییرات در به روز رسانی به نسخه‌های Minor، تیم چابک مسئولیتی را نمی‌پذیرد. توصیه می‌کنیم که هر سه تا شش ماه اقدام به بررسی نسخه‌های Minor نمایید. به عنوان مثال به‌ روز رسانی کتابخانه چابک از نسخه 2.12.1 به نسخه 2.14.1 مربوط به این سطح می‌شود.
  • Major: این سطح از تغییرات مخصوص بازنویسی و یا تغییرات اساسی در کتابخانه چابک است. در به روز رسانی به این نسخه‌ها حتما باید بخش ارتقا و تغییرات تغییرات صفحه لیست تغییرات را با دقت مطالعه کنید. در صورت بروز هر گونه مشکل در نتیجه رعایت نکردن نکات بخش ارتقا و تغییرات در به روز رسانی به نسخه‌های Major، تیم چابک مسئولیتی را نمی‌پذیرد. بنابراین توصیه می‌کنیم که هر یک سال اقدام به بررسی نسخه‌های Major نمایید. به عنوان مثال به‌روزرسانی کتابخانه چابک از نسخه 1.0.1 به نسخه 2.14.1 مربوط به این سطح می‌شود.

نکته: توصیه می‌کنیم برای دریافت آخرین نسخه Bug Fixها از کاراکتر + (wildcard) استفاده نمایید تا gradle به صورت خودکار نسخه‌های patch را بیاورد.


۳- مقداردهی اولیه (Initialize)


چابک برای راه‌اندازی نیاز به مقداردهی اولیه دارد. برای همین متد init چابک باید در کلاس Main.cs تحت هر شرایطی فراخوانی شود.

using System.Collections;
using System.Collections.Generic;
using Application;
using UnityEngine;

public class Main : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        AndroidJavaObject unityPlayerActivity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject currentActivity = unityPlayerActivity.GetStatic<AndroidJavaObject>("currentActivity");
        AndroidJavaObject context = currentActivity.Call<AndroidJavaObject>("getApplicationContext");

        var chabok = new ChabokPush();
        chabok.Init(
        context,
        unityPlayerActivity,
        "APP_ID/SENDER_ID", //based on your environment
        "API_KEY",          //based on your environment
        "USERNAME",         //based on your environment
        "PASSWORD"          //based on your environment
        );
        
        //true connects to Sandbox environment  
        //false connects to Production environment  
        chabok.SetDevelopment(true);
    }
}

در این متد به جای پارامتر‌های APP_ID/SENDER_ID, API_KEY(SDK_KEY), SDK_USERNAME, SDK_PASSWORD مقادیر مربوط به حساب چابک خود را وارد نمایید. نحوه ایجاد حساب در بخش پیش‌نیازها توضیح داده شده است. در صورت داشتن حساب چابک هم می‌توانید این مقادیر را از پنل بخش تنظیمات قسمت دسترسی‌ و توکن‌ها بردارید.

مقدار SENDER_ID در پارامتر APP_ID/SENDER_ID همان شناسه گوگل برای دریافت پوش‌نوتیفیکیشن می‌باشد که در پنل در بخش تنظیمات پلتفرم اندروید قرار داده‌اید و APP_ID همان APP_ID‌ای که در پنل در بخش دسترسی و توکن‌ها قرار داده شده است، می‌باشد.

متد setDevelopment تعیین می‌کند که اپلیکیشن شما به محیط آزمایشی (Sandbox) و یا عملیاتی (Production) چابک متصل شود. این موضوع بستگی به این دارد که حساب کاربری شما روی کدام محیط تعریف شده باشد.

مقدار true به محیط آزمایشی و مقدارfalse به محیط عملیاتی متصل می‌شود. در نظر داشته باشید، هر محیط به کلیدهای دسترسی (AppId, APIKey, Username و Password) خودش در متد init نیاز دارد. بنابراین در صورت تغییر مقدار setDevelopment کلید‌های دسترسی آن هم باید تغییر داده شود.


۴- ثبت کاربر (Register)


یکی از مزیت‌های چابک نسبت به درگاه‌های ارسال پوش‌نوتیفیکیشن، امکان معرفی هر کاربر با یک شناسه منحصر به فرد است. این قابلیت به شما امکان می‌دهد دستگاه‌های کاربر را مدیریت کنید و سوابق جمع‌آوری شده را همانند یک سیستم مدیریت مشتریان (CRM) در اختیار داشته باشید.

این شناسه می‌تواند برای دستگاه‌های متعدد یک کاربر استفاده شود. شناسه کاربر می‌تواند هر فیلد با ارزش و معنا‌دار برای کسب و کار شما باشد که کاربر خود را با آن شناسایی می‌کنید. شماره موبایل، کدملی، شماره‌حساب، ایمیل و یا حتی شناسه دیتابیس‌تان مثال‌هایی از شناسه‌های کاربری مناسب در موارد واقعی هستند. ارسال پیام‌ به کاربران توسط همین شناسه‌ها و بدون استفاده از توکن یا شناسه گوشی، به سادگی امکان پذیر خواهد بود.

علاوه بر ثبت کاربر،‌ متد register عمل اتصال به سرور چابک را انجام می‌دهد، بنابراین باید فقط یک بار در طول اجرا اپلیکیشن (در کلاس application) فراخوانی شود.

var userId = chabok.GetUserId();
if (userId != null)
{
    chabok.Register(userId);        
}
else
{
    chabok.RegisterAsGuest();        
}

کاربر مهمان

اگر اپلیکیشن شما قابلیت ایجاد حساب کاربری دارد، می‌توانید کاربر را تا زمانی که حساب ایجاد نکرده است به عنوان کاربر مهمان در سیستم خود ثبت کنید و سپس به محض ایجاد حساب و دریافت اطلاعات او، آن کاربر را به عنوان کاربر دائم خود مانند بالا ثبت کنید.

نکته: در صورتی که می‌خواهید از ترکر استفاده کنید و نصب‌ها را به محض اولین بازدید کاربر محاسبه کنید (مانند سرویس ادجاست) باید از این متد استفاده کنید.

متد زیر کاربر را به عنوان کاربر مهمان ثبت می‌کند و به طور خودکار یک تگ مهمان (CHABOK_GUEST) به او اختصاص می‌دهد. دقت داشته باشید که این متد را به تنهایی به کار نبرید زیرا هر بازدید کاربر را مهمان جدید محاسبه می‌کند. برای اطلاعات بیشتر مستندات ترکر نصب را مطالعه کنید.

دریافت شناسه کاربری

برای دریافت شناسه کاربری (userId) می‌توانید از متد زیر استفاده کنید:

chabok.GetUserId();

دریافت شناسه دستگاه

برای دریافت شناسه دستگاه (installationId) می‌توانید از متد زیر استفاده کنید:

chabok.GetInstallationId();