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


دریافت شناسه یکتا دستگاه اندروید در بیسیک۴اندروید
19 فروردین 1399
806 بازدید
نویسنده:

💡 در برنامه نویسی اندروید یکی از موضوعاتی که بهش برخورد میکنیم دریافت یک شناسه یا ایدی یکتا و تکرارنشدنی از کاربر(در دستگاه اندروید) هست که در مواقع مختلف از جمله احراز هویت کاربران مورد استفاده قرار میگیره. با توجه به تغییرات روز به روزِ سیستم عامل اندروید ما اینجا سعی کردیم جدیدترین روش هارو برای دریافت شناسه یونیک در محیط Basic4Android قرار بدیم.

 

 


❗️❗️  توجه: دریافت شماره سریال یا IMEI دستگاه با دسترسی READ_PHONE_STATE از اندروید ۱۰ به بعد امکانپذیر نیست!


 

 

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

 

همونطور که اشاره شد از اندروید ۱۰ به بعد حتی با دریافت دسترسی از کاربر امکان دریافت IMEI دستگاه وجود نداره، بنابراین برای دریافت یک شناسه ی منحصر بفرد میتونیم از روش های زیر استفاده کنیم.

 

 

* روش اول: دریافت Android_Id

 

۱- کتابخانه Phone رو تیک بزنید

۲- با کد زیر شناسه ی دستگاه اندرویدی رو بدون هیچ دسترسی ای دریافت کنید:

 


 'دریافت شناسه یکتا با اندروید ایدی
Dim phn As Phone
Log( phn.getSettings("android_id") )

 

در این روش یک شناسه ی تکرار نشدنی با فرمت روبرو دریافت می کنید: eef427ed02678fee

 

 

* روش دوم: دریافت Advertising Id یا شناسه ی تبلیغات ادموب

 

۱- کتابخانه FirebaseAdmob رو تیک بزنید

۲- کد زیر رو به منیفست اضافه کنید:

 

CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)

 

۳- کد های زیر رو خارج از Sub های ماژول مورد نظرتون پیست کنید:


Private Sub GetAdvertisingId As ResumableSub
Dim jo As JavaObject = Me
jo.RunMethod("GetAdvertisingId", Null)
Wait For AdvertisingId_Ready (Success As Boolean, Id As String)
Return Id
End Sub
 
#if Java
import java.util.concurrent.Callable;
import com.google.android.gms.ads.identifier.AdvertisingIdClient;
import com.google.android.gms.ads.identifier.AdvertisingIdClient.Info;
 
public static void GetAdvertisingId() {
BA.runAsync(processBA, mostCurrent, "advertisingid_ready", new Object[] {false, ""}
, new Callable<Object[]>() {
@Override
public Object[] call() throws Exception {
String id = AdvertisingIdClient.getAdvertisingIdInfo(mostCurrent).getId();
return new Object[] {true, id};
}
}); }
#End If

 

۴- با کد زیر یک شناسه ی تکرار نشدنی بدون نیاز به دسترسی دریافت کنید:

 

'دریافت شناسه یکتا با
'*ایدی تبلیغات*
Wait For (GetAdvertisingId) Complete (Id As String)
If Id <> "" Then
    Log(Id) 'شناسه
End If

 

در این روش هم بدون اینترنت یک شناسه ی تکرار نشدنی با فرمت روبرو دریافت می کنید: b36bf4fc-8cc6-4g00-88ae-d06132791751

 

 

 


✏️ منبع: کافه توسعه


 


برای اطلاع از جدیدترین سورس ها و آموزش های سایت در کانال تلگرامی کافه توسعه عضو بشید: @CafeToseeh

نمونه سورس کدهای بالا

حجم فایل: 10 کیلوبایت

فرمت فایل: ZIP

منبع: کافه توسعه


پژمان نیکروان
پژمان نیکروان

پژمان نیکروان هستم؛ مدیر وب سایت کافه توسعه، شروع فعالیتم به برنامه نویسی از سال 1392 بوده و هدف از ایجاد وبسایت اشتراک گذاری تجارب خودم و دیگر برنامه نویسان هست.

ارسال دیدگاه

می توانید از تگ های HTML نیز استفاده کنید :
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

دیدگاه های مطلب:
Profile Comment
حمید

سلام
هر دو شناسه یونیک هستن؟ یعنی هیچ دستگاه اندرویدی شناسه یه دستگاه دیگه رو نداره؟

پاسخ دادن

21 فروردین 1399

19 فروردین 1399

Profile Comment
امیر حسین

این شناسه ها به چه دردی میخوره ؟

مثلا میشه از این ها در دیتابیس آنلاین برای ثبت میزان ویو یک پست استفاده کرد ؟

پاسخ دادن

19 فروردین 1399