راه‌اندازی دیدبان در اندروید

نحوه مقداردهی اولیه Didban در Application.onCreate و تنظیم کلید پروژه.

محل راه‌اندازی

بهتر است کتابخانه Didban را در متد onCreate کلاس اختصاصی Application، پیش از اجرای بخش عمده کد برنامه، راه‌اندازی کنید.

MyApp.ktkotlin
package com.example.myapp

import android.app.Application
import dev.didban.android.Didban

class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()

        // Initialize Didban as early as possible
        Didban.init(
            context = this,
            apiKey = "didban_ing_your_project_key"
        )
    }
}

فراموش نکنید که کلاس Application خود را در مانیفست اپلیکیشن معرفی کنید:

AndroidManifest.xmlxml
<application
    android:name =".MyApp"
    android:label="@string/app_name"
    android:icon="@mipmap/ic_launcher">
    <!-- activities and services -->
</application>

چرا راه‌اندازی زودهنگام ضروری است؟

فراخوانی Didban.init در ابتدای شروع برنامه اقدامات زیر را انجام می‌دهد:

  • ثبت شنونده استثناهای JVM: استثناهای مدیریت‌نشده را رهگیری کرده و شنونده قبلی سیستم را حفظ می‌کند تا هیچ خطایی نادیده گرفته نشود.
  • راه‌اندازی ناظر ANR (Watchdog): یک نخ ناظر کم‌مصرف برای پایش پاسخگویی Looper نخ اصلی فعال می‌کند تا قفل شدن رابط کاربری را ثبت نماید.
  • فعال‌سازی هوک نیتیو NDK: سیگنال‌های مهلک POSIX کدهای C/C++ را با امنیت کامل و جداول بدون تخصیص حافظه پایش می‌کند.
  • بازیابی کرش‌های قبلی و شروع سشن: فایل‌های کرش قبلی را از دیسک خوانده و در پس‌زمینه آپلود می‌کند و سشن فعال را آغاز می‌نماید.
  • راه‌اندازی ارسال لاگ‌های زنده (Live App Logs): بافر حلقوی درون‌حافظه‌ای را فعال کرده و تایمر ارسال دسته‌ای لاگ‌ها (هر ۱۵ ثانیه یا خروج از برنامه) را زمان‌بندی می‌کند.

انواع کلیدهای پروژه: INGEST در برابر BUILD

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

نوع کلیدپیشوندمحل استفادهدسترسی‌ها
INGESTdidban_ing_Mobile Runtime AppSubmitting crash events & foreground sessions (write-only ingestion)
BUILDdidban_build_CI/CD & Build MachineUploading ProGuard/R8 mappings and unstripped native symbol files
هشدار امنیتی

هرگز کلید BUILD را درون کدهای اپلیکیشن قرار ندهید! کلیدهای BUILD دارای مجوز آپلود و تغییر مپینگ‌های نمادگذاری هستند و باید فقط در متغیرهای محیطی CI/CD یا فایل‌های محلی مخفی قرار گیرند. کدهای اپلیکیشن موبایل باید همیشه از کلید با پیشوند didban_ing_ استفاده کنند.

پارامترهای متد Didban.init

  • context: The Context (normally this from your Application instance). Didban captures applicationContext to prevent memory leaks.
  • apiKey: Your project's Ingest API key (starts with didban_ing_). Found in Dashboard under Settings → API Keys.

The SDK uses the hosted Didban API by default. An optional baseUrl override is available for local development, testing, or self-hosted deployments.