ترکر نصب ویرایش

نکته: مستندات پیاده‌سازی زیر بر اساس نسخه‌های ۳ به بالا کتابخانه چابک نوشته شده است. در صورتی که از نسخه پایین‌تری استفاده می‌کنید به این صفحه مراجعه کنید.

ترکر چابک کلیک و نصب کمپین‌ها را شمارش می‌کند. همینطور با توجه به قابلیت رصد رویدادها می‌توانید مدل‌های بازاریابی CPI و CPA را برای تبلیغات خود اجرا کنید. مزیت دیگر ترکر چابک حذف و جلوگیری تقلب در کمپین‌های تبلیغاتی است.

نگران راه‌اندازی هم نباشید این صفحه به طور کامل مراحل پیاده‌سازی و استفاده از ترکر را قدم به قدم مرور می‌کند.


‍‍نکته: در صورتی که از قبل SDK چابک را نصب کرده‌‌اید، از رصد رویدادها شروع کنید.

۱. پیاده‌سازی (SDK Integration)


برای ایجاد حساب کاربری کافیست در وبسایت چابک وارد صفحه شروع کنید شوید و حساب شخصی خود را بسازید. پس از ایجاد حساب و ثبت اپلیکیشن خود، با مراجعه به بخش تنظیمات پنل پارامترهای اتصال به چابک که در مرحله مقداردهی مورد نیاز است، در دسترس خواهد بود.

۱.۱. مراحل پیاده‌سازی

برای راه‌اندازی SDK چابک ۴ مرحله زیر را به ترتیب انجام ‌دهید:

الف- افزودن کتابخانه

ب- مقداردهی

ج- ثبت کاربر

د- ثبت اطلاعات کاربر (اختیاری)

الف- افزودن کتابخانه

برای دریافت کتابخانه چابک دستورات زیر را به فایل build.gradle اصلی پروژه اضافه کنید:

buildscript {
    repositories {
        google()
        jcenter()
        maven {
            url "https://plugins.gradle.org/m2/" 
        }
    }
    
    dependencies {    
        classpath "io.chabok.plugin:chabok-services:1.0.0"
        classpath 'com.google.gms:google-services:4.3.2'
    }
}

دستور زیر را در انتهای فایل build.gradle ماژول اپلیکیشن خود اضافه کنید:

apply plugin: 'io.chabok.plugin.chabok-services'
apply plugin: 'com.google.gms.google-services'

نکته: این فایل عموما در مسیر زیر وجود دارد: app/build.gradle

در این قسمت شما باید کتابخانه استاندارد یا کتابخانه با قابلیت مکان‌یابی را نصب نمایید. برای استفاده از سرویس پیام‌رسانی و قابلیت‌های آنی چابک می‌توانید از کتابخانه استاندارد بهره ببرید. در صورتی هم که می‌خواهید این‌ امکانات را همراه با قابلیت مکان‌یابی داشته باشید باید از کتابخانه با قابلیت مکان‌یابی استفاده کنید. دقت نمایید که هر دو کتابخانه همزمان نمی‌توانند کار کنند و شما باید فقط از یکی از آن‌ها متناسب با نیاز خود استفاده کنید.

نصب کتابخانه استاندارد چابک

برای استفاده از کتابخانه استاندارد چابک (بدون قابلیت مکان‌یابی) از کتابخانه chabok-lib که در زیر به آن اشاره‌ شده است، استفاده کنید.
فایل build.gradle در ماژول اپلیکیشن را باز کرده و در بخش dependencies خطوط زیر را اضافه نمایید:

dependencies {
    implementation 'com.adpdigital.push:chabok-lib:3.1.0'
    implementation 'me.leolin:ShortcutBadger:1.1.22@aar'  
    implementation 'com.google.firebase:firebase-messaging:17.1.0'
    implementation 'com.android.installreferrer:installreferrer:1.0'
} 

نکته: چابک در حال حاضر از FCM بهره می‌برد؛ در عین حال به خاطر قابلیت backward compatibility خود از کاربرانی که از نسخه‌های پایین‌تر اندروید استفاده می‌کنند یا از GCM به FCM مهاجرت نکرده‌اند، پشتیبانی می‌کند. توجه داشته باشید که موضوع بسته شدن GCM برای سرورهای خودش است و در کلاینت‌های اندروید چابک، دریافت توکن پوش همچنان امکان‌پذیر است.

نصب کتابخانه با قابلیت مکان‌یابی چابک

درصورتی که در برنامه خود نیاز به استفاده از موقعیت مکانی کاربر دارید، لازم است در ابتدا کتابخانه chabok-lib را حذف و کتابخانه chabok-lib-geo را جایگزین کنید. با توجه به این که در این کتابخانه از سرویس فیوز گوگل استفاده شده است، باید تغییرات زیر نیز در قسمت ‌‌‌dependencies اعمال شود:

dependencies {
   implementation 'com.adpdigital.push:chabok-lib-geo:3.1.0'

   implementation 'me.leolin:ShortcutBadger:1.1.22@aar'  
   implementation 'com.google.firebase:firebase-messaging:17.1.0'
   implementation 'com.google.android.gms:play-services-location:10.2.6'
   implementation 'com.android.installreferrer:installreferrer:1.0'
}

نکات ضروری نصب کتابخانه

  • تمامی گوشی‌های با اندروید ۴ یا بالاتر قابلیت استفاده از کتابخانه چابک را دارند.

    نکته: برای گوشی‌هایی مانند شیاومی و هواوی که گزینه تنظیمات مربوط به برنامه‌های حفاظت شده دارند (ProtectedApps)، کاربر باید برنامه شما را در لیست برنامه‌های حفاظت شده، فعال کند تا دریافت پوش‌نوتیفیکیشن در همه حالت‌ها امکان‌پذیر شود. برای اطلاعات بیشتر می‌توانید بخش عیب‌یابی را مطالعه نمایید.

  • فایل google-services.json را از پنل فایربیس دانلود کنید و در پوشه ماژول اصلی اپلیکیشن خود قرار دهید. برای دانلود این فایل، مراحل زیر را طی کنید:

۱. به پنل فایربیس خود وارد شوید و پروژه را باز کنید.

۲. بر روی آیکون تنظیمات کلیک کنید و گزینه Project settings را انتخاب نمایید.

۳. از لیست اپلیکیشن‌ها، اپلیکیشن مورد نظر خود را انتخاب کنید.

۴. بر روی google-services.json کلیک کنید و آن را دانلود کنید.

نکته: فایل ذکر شده را پس از دانلود، در پوشه ماژول اصلی برنامه قرار دهید.

  • اگر از AndroidX استفاده می‌کنید قطعه کد زیر را در فایل gradle.properties پروژه خود اضافه کنید:
    android.useAndroidX=true
    android.enableJetifier=true
    

نکته:با راه‌اندازی کتابخانه چابک قادر به دریافت پوش نوتیفیکیشن خواهید بود و نیازی به پیاده‌سازی سرویس فایبربیس برای دریافت پوش نوتیفیکیشن نیست.

  • دقت داشته باشید که همیشه از جدیدترین نسخه ShortcutBadger استفاده کنید. برای اطلاع از آخرین نسخه می‌توانید به این لینک مراجعه نمایید. هم‌چنین با توجه به حجم زیاد مجوزهای نمایش نشان (Badge) روی آیکون اپ،‌ می‌توانید از این قسمت هر کدام از آن‌ها را با اختیار خودتان بردارید.
  • به علت محدودیت‌‌های اندروید ۸ به بالا دقت کنید حتما مطابق جدول زیر تنظیمات نسخه‌ها را به درستی انجام دهید. در صورت رعایت نکردن نسخه‌های ذکر شده در جدول زیر هنگامی که اپلیکیشنتان kill شده باشد به هنگام دریافت نوتیفیکیشن با خطا مواجه خواهد شد.
buildTools compileSdk targetSdk googlePlayServices
25.x.x 25 >= 23 >= 9.6.0
26.x.x 26 >= 23 >= 9.6.0
27.x.x 27 >= 23 >= 10.2.1
  • توجه داشته باشید که برای VERSION آخرین نسخه کتابخانه را از این صفحه مشاهده کنید و سپس آن را وارد نمایید، همچنین توصیه می‌شود بخش مدل نسخه‌گذاری در چابک را مطالعه نمایید.

نصب دستی کتابخانه

آخرین نسخه فایل کتابخانه چابک از اینجا قابل دسترس می‌باشد. در انتها گزینه سینک را بزنید. برای نصب کتابخانه استفاده از این روش را توصیه نمی‌کنیم. زیرا شما از به روز رسانی‌ نسخه‌های چابک مطلع نمی‌شوید.

مدل نسخه‌گذاری در چابک (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 را بیاورد.
نکته: اگر از نسخه‌های پایین‌تر از ۳ کتابخانه چابک استفاده می‌کنید توصیه می‌کنیم کتابخانه چابک را به نسخه ۳ ارتقا دهید.


نکته: با توجه به حجم زیاد مجوزهای نمایش نشان (Badge) روی آیکون اپ،‌ می‌توانید از این قسمت هر کدام از آن‌ها را با اختیار خودتان بردارید.

ب- مقداردهی (Initialize)

چابک برای راه اندازی نیاز به مقداردهی اولیه دارد.
۱. برای مقداردهی ابتدا از پنل خود وارد بخش تنظیمات> دسترسی و توکن‌ها> کتابخانه موبایل> فعال‌سازی راه‌اندازی هوشمند> شوید و فایل Chabok.sandbox.json یا Chabok.production.json را بسته به محیطتان دانلود کنید.

نکته: برای غیرفعال کردن قابلیت پوش نوتیفیکیشن(pushNotification)، کافیست مقدار پیش ‌فرض آن را در فایل دانلود شده تغییر بدید.

۲. فایل دانلود شده را در پوشه ماژول اصلی پروژه قرار دهید.


۳. در مرحله آخر نیاز است کد‌های زیر را در کلاس اپلیکیشن خود فراخوانی کنید.

public class MyAppClass extends Application {  
      @Override  
      public void onCreate() {
          super.onCreate();  
          AdpPushClient.configureEnvironment(Environment.SANDBOX); // ضروری  
          AdpPushClient.setLogLevel(LogLevel.VERBOSE); // اختیاری
          AdpPushClient.setDefaultTracker("Ym3gy7"); // اختیاری
    }
}


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

نکته:متدی که در بالا قرار دادیم برای راه‌اندازی محیط سندباکس است. در صورتی که حساب عملیاتی دارید کافیست Environment.SANDBOX را با Environment.PRODUCTION عوض کنید.

نکته: برای درخواست حساب محیط عملیاتی، در بخش تنظیمات پنل، وارد بخش درخواست حساب عملیاتی شوید و درخواست خود را ثبت نمایید و پس از تایید و ساخت حساب عملیاتی فایل Chabok.production.json را دانلود کنید و به جای فایل Chabok.sandbox.json در پوشه ماژول اصلی پروژه خود قراردهید.

نکته: دقت داشته باشید که قابلیت آنی (realtime) چابک به طور پیش فرض غیر فعال است. برای فعال کردن مقدار قابلیت آنی (realtime)، کافی است مقدار پیش‌فرض آن را در فایل دانلود شده تغییر بدید. این قابلیت در پیام چابک و پیام‌رسانی آنی استفاده می‌شود.

اگر از کامپوننت‌های اندروید در پراسس دیگری استفاده می‌کنید. حتما متد setApplicationContext را قبل از متد configureEnvironment فراخوانی کنید. در نهایت کلاس اپلیکیشنتان به شکل زیر خواهد بود:

public class MyAppClass extends Application {  
      @Override  
      public void onCreate() {
          super.onCreate();  
          AdpPushClient.setApplicationContext(this); // ضروری
          AdpPushClient.configureEnvironment(Environment.SANDBOX); // ضروری  
          AdpPushClient.setLogLevel(LogLevel.VERBOSE); // اختیاری
          AdpPushClient.setDefaultTracker("Ym3gy7"); // اختیاری
      }
}

ج- ثبت کاربر

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

ورود به حساب کاربری (login)

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

متد ثبت کاربر با چهار امضای متفاوت وجود دارد:

  • امضای اول:

فقط شناسه کاربر را گرفته و کاربر را با آن شناسه بر روی سرور چابک ثبت‌ نام می‌کند.

public void login(String userId)

نکته: مقدار USER_ID می‌تواند بین ۳ تا ۶۴ کاراکتر باشد. زبان فاسی، کاراکترهای #,+,*,\,/ و فاصله هم در آن مجاز نیستند.

نکته امنیتی: مقدار USER_ID را هرگز به صورت خام در SharedPreferences ذخیره نکنید، چون مقدار این شناسه معنادار است و می‌توان با آن، کاربر را روی چابک ثبت‌نام کرد. برای این منظور می‌توانید از متد getUserId چابک استفاده کنید که شناسه کاربر را به صورت رمزنگاری شده نگه‌می‌دارد. همینطور می‌توانید قبل از عملیات ثبت با استفاده از شماره گوشی از معتبر بودن کاربر (verification) اطمینان یابید، سپس شناسه او را ثبت نمایید.

  • امضای دوم:

علاوه بر شناسه کاربر، اطلاعات کاربر (Attributes) را نیز دریافت می‌کند.

public void login(String userId, HashMap<String, Object> attributes)

نکته:پس از انجام مراحل فوق در پنل چابک مربوط به حساب برنامه، در قسمت مشترکین، قابل مشاهده خواهد بود و شما می‌توانید از پنل به کاربر، پیام چابک و پوش ‌نوتیفیکیشن بفرستید.

  • امضای سوم:

به غیر از شناسه کاربر، رفتار مورد نظر کاربر را نیز رصد می‌کند.

public void login(String userId, String eventName, @Nullable JSONObject data)
  • امضای چهارم:

به غیر از شناسه کاربر، لیست تگ‌ها را دریافت می‌کند.

نکته: به کمک لیست تگ‌ها در چابک می‌توانید کاربرانتان را بر اساس ویژگی‌های مورد نظرتان، دسته‌بندی و برچسب‌گذاری کنید و با آن‌ها ارتباط برقرار کنید. برای کسب اطلاعات بیشتر به این صفحه مراجعه کنید.

public void login(String userId, String[] tagsName)

خروج از حساب کاربری (logout)

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

public void logout()
د- ثبت اطلاعات کاربر (User Attributes)

با فراخوانی متد زیر می‌توانید اطلاعات و سوابق کاربر را جمع‌آوری و ذخیره کنید:

HashMap<String, Object> userInfo = new HashMap<>();

userInfo.put("firstName", "محمدرضا");
userInfo.put("lastName", "اخوان");
userInfo.put("age", 35);
userInfo.put("gender", "مرد");

AdpPushClient.get().setUserAttributes(userInfo);

پس از فراخوانی این متد و ثبت اطلاعات می‌توانید آن را در پنل>جزئیات دستگاه>کارت اطلاعات کاربر مانند زیر مشاهده کنید:

عکس مربوطه

۲.۱. رصد رویدادها (Tracking Events)

رویدادها در واقع همان تعامل کاربر با اپلیکیشنتان است. از این رو آن‌ها را رفتار کاربر می‌نامیم. شما می‌توانید رفتار کاربر را در اپلیکیشن خود به طور لحظه‌ای رصد کنید. این امر به شما امکان می‌دهد تا CPA های پیشرفته برای کمپین‌هایتان تعریف کنید و نصب‌هایتان با تحقق اهدافی که برای کاربران تعیین کرده‌اید شمرده شوند.

با کد زیر می‌توانید رفتار کاربر (رویداد) را در چابک رصد کنید:

JSONObject data = new JSONObject();
data.put("value", 35000);

AdpPushClient.get().track("add-to-card", data);

‍‍‍نکته: در متد track در صورتی که به value مقدار عددی بدهید، آن رفتار در سگمنت با پیشوند آخرین و مجموع اضافه می‌شود. اما در صورتی که مقدار غیر عددی (string) بدهید، آن رفتار فقط با پیشوند آخرین به سگمنت اضافه می‌شود.


رصد درآمد (Tracking Revenue)

شما می‌توانید در‌آمدی که کاربران با نشان دادن رفتاری از خود (مانند خرید) تولید می‌کنند را رصد و ذخیره کنید. این کار را با فراخوانی متد trackRevenue برای نسخه‌های ۳ به بالا کتابخانه چابک انجام دهید. به عنوان مثال کاربری خریدی با ارزش ۵۰ هزار تومان را انجام داده است در نتیجه باید قطعه کد زیر را اضافه کنید:

AdpPushClient.get().trackRevenue(500000);

و در صورتی که از نسخه‌های ۳ به پایین کتابخانه چابک استفاده می‌کنید، این کار را باید با فراخوانی متد trackPurchase انجام دهید. به عنوان مثال کاربر خریدی را با ارزش ۵۰ هزار تومان انجام داده است.

نمونه:

ChabokEvent event = new ChabokEvent(500000, "RIAL");
event.setData(data);
                
AdpPushClient.get().trackPurchase("Purchase", event);

برای اطلاعات بیشتر مربوط به رصد رویدادها اینجا را مطالعه کنید.


۳.۱. تست راه‌اندازی

اگر عملیات ثبت‌ کاربر به درستی انجام شده باشد، اطلاعات کاربر در پنل چابک قسمت کاربران قابل مشاهده خواهد بود.

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

۴.۱. انتشار اپلیکیشن در استورها

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

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


۲. ترک نصب‌ها (Tracking Installs)


پس از اینکه راه‌اندازی SDK چابک را در اپلیکیشنتان انجام دادید می‌توانید برای کمپین‌های نصب خود ترکر فعال کنید.

۱.۲. ایجاد لینک ترکر

برای ایجاد لینک ترکر فقط کافیست وارد صفحه ترکر پنل شوید و ترکر جدید بسازید. همینطور شما می‌توانید به لینک ترکر خود پارامتر اضافه کنید.

برای اطلاعات بیشتر درباره ایجاد ترکر جدید در پنل و مشاهده نمونه‌ای از آن می‌توانید به مستندات پنل مراجعه کنید.

نمونه لینک ترکر چابک:

حساب‌ رایگان:

https://sand.chabok.io/JY@4sc

حساب عملیاتی:

https://a.chabok.io/JY@4sc

۲.۲. انتشار لینک ترکر

پس از ایجاد یک ترکر جدید و گرفتن لینک آن کافی است آن را در کمپین‌های نصب خود قرار دهید. با این کار ترکر شما فعالیت خود را آغاز می‌کند و از این پس هر کلیک و نصب به صورت لحظه‌ای در پنل به نمایش گذاشته خواهد شد.



۳. ترک کمپین‌های نصب از استور‌ها


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

نکته:‍‍‍‍ دقت داشته باشید که برای ترک کمپین‌های نصب باید حتما نسخه SDK چابک شما ۲.۱۵.۰ به بالا باشد.

گوگل پلی استور

برای انجام این کار باید از INSTALL_REFERRER intent اندروید استفاده کنید. این Referrer وظیفه اطلاع رسانی نصب از گوگل پلی را به SDK چابک دارد. فقط کافیست اپلیکیشن شما آن را دریافت کند. بنابراین اطمینان یابید که کد زیر در build.gradle شما اضافه شده باشد:

implementation 'com.android.installreferrer:installreferrer:1.0'


استورهای غیر از گوگل پلی (Third-Party App Stores)

این کار را چابک با دو روش استفاده از روش Referrer و آی‌دی ترکر انجام می‌دهد.

روش Referrer

در صورتی که می‌خواهید از استورهای غیر از گوگل پلی که Referrer را پشتیبانی می‌کنند ترک کنید، تگ receiver را در کلاس application فایل AndroidManifest.xml خود قرار دهید:

<receiver
    android:name="com.adpdigital.push.ChabokReferrerReceiver"
    android:permission="android.permission.INSTALL_PACKAGES"
    android:exported="true">
       <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
</receiver>

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

از طریق Referrer شما اطلاعات کلیدی ترکر خود مانند منبع نصب، آی‌دی ترکر و سطح ترکر را ارسال می‌کنید.

روش آی‌دی ترکر (Pre-Install Campaigns)

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

AdpPushClient.setDefaultTracker("YOUR_TRACKER_ID");

نکته: دقت داشته باشید که TRACKER_ID شناسه ۶ کاراکتری است که در لینک ترکر شما وجود دارد. به عنوان مثال در لینک https://sand.chabok.io/JY@4sc آی‌دی ترکر JY@4sc می‌باشد. این آی‌دی را می‌توانید از پنل>ترکر>جزئیات ترکر مانند تصویر زیر کپی کنید:

عکس مربوط



۴. ترک جستجوی ارگانیک گوگل


گوگل به کاربران امکان می‌دهد تا با جستجوی اپلیکیشن در موتور جستجوی خود و کلیک روی آیکون آن به گوگل پلی بروند و آنجا به طور مستقیم نصب کنند.

شما می‌توانید کلید واژه‌‌ای که کاربر در گوگل جستجو کرده است را داشته باشید. چابک این کلید واژه را در سطح campaign ترکر ایجاد می‌کند.

علاوه بر آن، چابک پارامتر utm_medium را در سطح adgroup ایجاد می‌کند. این پارامتر همان معیار شمارش است.

نکته: دقت داشته باشید که برای استفاده از این قابلیت باید حتما ‍‍referrer را پیاده‌سازی کرده باشید.



۵. کال‌بک‌های ترکر (Callback)


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

همچنین شما می‌توانید در کال‌بک خود از پارامترهایی برای اطلاعات بیشتر از مبدا رویداد کسب کنید. برای مشاهده این پارامترها و نمونه لینک کال‌بک می‌توانید به مستندات پنل مراجعه کنید.

۶. قابلیت دعوت دوستان


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

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

ایجاد لینک دعوت دوستان

برای ایجاد لینک دعوت دوستان از طریق خود اپلیکیشن کافیست در انتهای لینک ترکر نصب، پارامتر lable را اضافه کنید.

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

AdpPushClient.get().setDeferredDataListener(new DeferredDataListener() {
    @Override
    public boolean launchReceivedDeeplink(Uri deeplink) {
        return false;
    }

    @Override
    public void onReferralReceived(String label) {
        // send label to your server
    }
});

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

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

https://sand.chabok.io/GgKoAT?label=user_1001

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

https://a.chabok.io/GgKoAT?label=user_1001

نکته: برای پیاده‌سازی قابلیت دعوت دوستان کافیست در انتهای لینک ترکر نصب به جای user_1001، شناسه کاربری شخص دعوت‌کننده را قرار دهید.



۷. مکانیزم ضد تقلب (Fraud Prevention)


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

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

  • IP Filtering:

آی‌پی کاربر را در زمان کلیک و نصب تطبیق می‌دهد، جلوی نصب‌های متعدد با یک آی‌پی را می‌گیرد و همچنین آی‌پی‌های ناشناخته را رد می‌کند.

  • User Verification:

با توجه به ساختار کاربر محور بودن سیستم چابک، تمام اطلاعات کاربر در کلیک و نصب را مقایسه می‌کند تا واقعی بودن کاربر جذب شده مشخص شود.

  • SDK Signature:

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

  • Server to Server Verification:

اطلاعات کاربر را هنگام کلیک جمع‌آوری می‌کند و با اطلاعاتی که سرور شما در هنگام نصب دریافت می‌کند اعتبارسنجی می‌نماید؛ در صورت عدم تطابق، نصب را رد می‌کند.

  • TTI:

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

  • Two-Phase Authentication:

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



۸. آشنایی با برخی مفاهیم ترکر


  • اتریبیوشن: نصب‌هایی که از طریق کمپین‌های تبلیغاتی شمرده می‌شوند.

  • بازدید: هر بار که اپلیکیشن باز شود یک بازدید محاسبه می‌شود.

  • ترکر: ابزار شمارش و رصد کمپین‌های تبلیغاتی را ترکر می‌نامند.

  • رد شده: نصب‌ها و کلیک‌هایی که غیر واقعی تشخیص داده می‌شوند و در شمارش محاسبه نمی‌شوند.

  • رویداد: هرگونه تعامل کاربر با اپلیکیشن، یک رویداد در نظر گرفته می‌شود.

  • نصب: اولین بازدید هر کاربر نصب به حساب می‌آید.