پرش به مطلب اصلی

راه‌اندازی SDK Signature

SDK Signature به شما این امکان را می‌دهد که ترافیک ادتریس را بر اساس منبع install یا app store جدا کنید، آمار را به ازای هر signature آنالیز کنید و (به صورت اختیاری) fraud detection را تقویت کنید. هر signature مقادیر secret خودش را دارد. Signature ها را در پنل تعریف می‌کنید، یک مجموعه را در هر build store جاسازی می‌کنید و گزارش‌ها را بر اساس signature در پنل فیلتر می‌کنید.

فعال‌سازی لازم است

SDK Signature به صورت client-by-client فعال می‌شود. اگر می‌خواهید از این ویژگی استفاده کنید با پشتیبانی ادتریس به آدرس info@adtrace.io تماس بگیرید.

SDK Signature چه کاری انجام می‌دهد

Use caseتوضیح
جداسازی store ها / منابعاز signature متفاوت به ازای هر store استفاده کنید (برای مثال App Store، TestFlight، enterprise یا store های منطقه‌ای). Install ها، رویدادها و درآمد آن build زیر آن signature ثبت می‌شوند.
فیلتر آنالیتیکدر پنل Statistics → User Acquisition را باز کرده و Show by SDK Signature را فعال کنید تا داده‌ها را بر اساس signature تفکیک کنید.
Fraud detectionبا فعال‌سازی Fraud Detection برای یک signature، install‌هایی از build هایی بدون signature مطابق می‌توانند به عنوان fraud علامت‌گذاری شوند. فقط وقتی هر build production شامل signature است فعال کنید.

ادتریس از SDK Signature در SDK های موبایل native (iOS، Android و ...) پشتیبانی می‌کند. برای Web در دسترس نیست.

قبل از شروع

نیازجزئیات
فعال‌سازی حسابSDK Signature توسط ادتریس فعال شده (با info@adtrace.io تماس بگیرید)
دسترسی به پنلApp Secrets در پنل ادتریس بعد از فعال‌سازی قابل مشاهده است
یک build به ازای هر signatureهر انتشار store یا منبع باید یک signature را جاسازی کند. چند signature = چند release build.

مرحله ۱: تعریف signatures در پنل

  1. پنل ادتریسSettings را باز کنید.
  2. بخش SDK Signature را باز کرده و Add SDK Signature را انتخاب کنید.
  3. فیلدها را پر کنید:
فیلدتوضیح
Nameبرچسب برای store یا منبع install (برای مثال App Store، Enterprise، Regional Store).
App Versionنسخه SDK signature (نه نسخه marketing اپ شما). برای تمایز بین signatures هنگامی که به چند تا نیاز دارید استفاده می‌شود. یک نسخه signature می‌تواند چند نسخه اپ را پوشش دهد.
App Store Typeنوع store (برای مثال App Store، Play Store یا کانال توزیع شما).
  1. Add را انتخاب کنید. برای هر store یا منبعی که نیاز دارید تکرار کنید.
  2. مقادیر نمایش داده شده توسط ادتریس برای هر signature را کپی کنید:
    • Secret ID (همچنین Security ID نامیده می‌شود)
    • چهار فیلد عددی secret (info1info4)

اختیاری: Fraud Detection را برای یک signature فقط اگر همه build هایی که برای آن کانال می‌فرستید آن signature را شامل می‌شوند فعال کنید.

مرحله ۲: یکپارچه‌سازی در SDK

setAppSecret:info1:info2:info3:info4: را روی instance ADTConfig خود قبل از [Adtrace appDidLaunch:] / Adtrace.appDidLaunch(...) فراخوانی کنید.

Method signature

- (void)setAppSecret:(NSUInteger)secretId
info1:(NSUInteger)info1
info2:(NSUInteger)info2
info3:(NSUInteger)info3
info4:(NSUInteger)info4;
پارامترتوضیح
secretIdSecret ID (Security ID) از پنل برای این signature
info1مقدار secret اول از پنل
info2مقدار secret دوم از پنل
info3مقدار secret سوم از پنل
info4مقدار secret چهارم از پنل

از مقادیر یک signature پنل به ازای هر build استفاده کنید. secret های signature های مختلف را در یک binary اپ مخلوط نکنید.

مثال

AppDelegate.m
NSString *appToken = @"{YourAppToken}";
NSString *environment = ADTEnvironmentProduction;
ADTConfig *adtraceConfig = [ADTConfig configWithAppToken:appToken
environment:environment];
[adtraceConfig setAppSecret:secretId
info1:info1
info2:info2
info3:info3
info4:info4];

[Adtrace appDidLaunch:adtraceConfig];

secretId، info1، … info4 را با اعداد از پنل برای store ای که می‌سازید جایگزین کنید.

محافظت از secret ها در release build ها

literal های عددی ساده در سورس می‌توانند از binary استخراج شوند. در نظر بگیرید appToken و مقادیر signature را از ذخیره‌سازی امن، obfuscation یا پیکربندی build-time بر اساس target توزیع بارگذاری کنید.

چند signature و build های store

الگوی معمول برای اپ‌های multi-store:

  1. یک signature به ازای هر store در پنل تعریف کنید (برای مثال App Store و یک کانال enterprise).
  2. IPA های release جداگانه بسازید که هر کدام یک پیکربندی setAppSecret داشته باشند (برای مثال Xcode scheme های جداگانه یا build configuration ها).
  3. هر build را به store یا کانال توزیع خود آپلود کنید.

مثال: دو signature → دو release build (مقادیر secret را بین build ها swap کنید یا با build configuration ها اتوماتیک کنید).

تمام install ها و رویدادهای یک build زیر signature آن build ثبت می‌شوند. در پنل بر اساس signature فیلتر کنید تا store ها را مقایسه کنید.

تست قبل از انتشار

می‌توانید signature ها را قبل از انتشار production تست کنید:

  1. signature های تست در پنل ایجاد کنید (یا از signature های production در build های داخلی استفاده کنید).
  2. برای هر signature که می‌خواهید تأیید کنید، یک build installable جداگانه با آن signature در کد بسازید.
  3. یک fresh install روی یک دستگاه تست انجام دهید (نه یک upgrade از build دیگری با signature).
  4. install ها و رویدادها را trigger کنید، سپس Statistics را با فعال Show by SDK Signature بررسی کنید.
  5. تأیید کنید install ها و رویدادها زیر signature مورد انتظار نمایش داده می‌شوند.

اگر برای تست signature دیگری از همان دستگاه استفاده می‌کنید:

  1. اپ را از دستگاه حذف کنید.
  2. در Testing Console پنل، دستگاه را باز کرده و Forget Device کنید (همان جریان تست یکپارچه‌سازی).
  3. build signature بعدی را نصب کرده و تکرار کنید.
یک signature به ازای هر install

هر build نصب‌شده باید دقیقاً یک پیکربندی signature داشته باشد. تست signature A، سپس نصب signature B روی همان دستگاه بدون reset می‌تواند attribution گمراه‌کننده تولید کند.

سوالات رایج

Secret ID چیست؟ شناسه‌ای که ادتریس هنگام ایجاد signature در پنل اختصاص می‌دهد. آن را به عنوان اولین آرگومان setAppSecret پاس دهید. ترافیک SDK را برای گزارش‌دهی و بررسی‌های fraud به آن signature مرتبط می‌کند.

App Version در پنل چیست؟ نسخه SDK signature، نه CFBundleShortVersionString اپ شما. یک نسخه signature می‌تواند چند release اپ را پوشش دهد.

آیا می‌توانم قبل از انتشار App Store تست کنم؟ بله. Signature ها را در پنل ایجاد کنید، مقادیر مطابق را در build های TestFlight یا داخلی جاسازی کنید و در Statistics با Show by SDK Signature فعال تأیید کنید.

چه زمانی Fraud Detection را فعال کنم؟ فقط زمانی که هر build production برای آن کانال شامل مقادیر صحیح setAppSecret باشد. در غیر این صورت install های قانونی ممکن است علامت‌گذاری شوند.