Skip to main content

شناسه‌ی یکتا کاربران

اختصاص شناسه سفارشی به کاربران

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

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

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

شناسهتوضیحاتنحوه اختصاص دادن
ایمیلآدرس ایمیل کاربرPushe.setUserEmail
شماره تلفنشماره تلفن کاربرPushe.setUserPhoneNumber
شناسه دلخواههر عبارت دلخواهی که می‌خواهید به عنوان شناسه استفاده کنیدPushe.setCustomId

نکته: هر سه متد بالا یک Promise برمی‌گردانند که مقدار resolved شده true یا false می باشد.

متد Pushe.setUserEmail

Android

با استفاده از این متد می توانید ایمیل کاربر را به عنوان یک شناسه یکتا برای وی ذخیره کنید و با استفاده از آن اعلان یکتا برای این کاربر ارسال کنید.

این متد یک Promise برمیگرداند که true یا false مقدار resolve شده آن می باشد. در صورتی که با موفقیت مقدار ذخیره شود true و در غیر این صورت مقدار false برمی گرداند.

const userEmail = '[email protected]';

Pushe.setUserEmail(userEmail)
.then((res) => {
if (res) {
console.log('Successfully set user email');
} else {
console.log('Could not set user email');
}
});

نکته: برای حذف ایمیل از قبل ذخیره شده کاربر مقدار null را به عنوان پارامتر به این متد بدهید.

متد Pushe.setUserPhoneNumber

Android

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

این متد یک Promise برمیگرداند که true یا false مقدار resolve شده آن می باشد. در صورتی که با موفقیت مقدار ذخیره شود true و در غیر این صورت مقدار false برمی گرداند.

const phoneNumber = '09000000000';

Pushe.setUserPhoneNumber(phoneNumber)
.then((res) => {
if (res) {
console.log('Successfully set user phone number');
} else {
console.log('Could not set user email');
}
});

نکته: برای حذف شماره از پیش ذخیره شده مقدار null را به عنوان پارامتر به این متد بدهید.

متد Pushe.setCustomId

Android

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

این متد یک Promise برمیگرداند که true یا false مقدار resolve شده آن می باشد. در صورتی که با موفقیت مقدار ذخیره شود true و در غیر این صورت مقدار false برمی گرداند.

// use uuid package to generate custom id
const uuidv4 = require('uuid/v4');

const customId = uuidv4();

Pushe.setCustomId(customId)
.then((res) => {
if (res) {
console.log('Successfully set custom id');
} else {
console.log('Could not set custom id');
}
});

نکته: برای حذف شناسه از پیش ذخیره شده مقدار null را به عنوان پارامتر به این متد بدهید.

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

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

توضیحات این شناسه‌ها در جدول زیر آمده است:

شناسهتوضیحاتنحوه دریافت
Device IDاین شناسه توسط اندروید به کاربران اختصاص داده می‌شود. در گوشی‌های با سیستم عامل پایین‌تر از اندروید ۸، شناسه‌ی Device ID کاربر بین تمامی اپلیکیشن‌های نصب شده بر روی گوشی ثابت است و همچنین پس از حذف و نصب مجدد اپلیکیشن نیز ثابت می‌ماند. در نسخه‌ی اندروید ۸ به بالا، شناسه‌ی Device ID یک کاربر تنها برای اپلیکیشن‌هایی که با کلید‌های یکسان امضا شده باشند یکتا است و برای بقیه‌ی اپلیکیشن‌ها متفاوت است.Pushe.getDeviceId
Advertising IDاین شناسه برای یکتاسازی دیوایس حتی در حالتی که برنامه‌ی شما حذف یا کلیردیتا شود استفاده می‌شود. این شناسه برای ماژول FCM برابر Google Ad id خواهد بود و برای ماژول HMS برابر Huawei OAID می‌باشد. کاربر می‌تواند این شناسه را حذف یا غیرفعال نمایدPushe.getAdvertisingId

متد Pushe.getDeviceId

Android

این متد یک Promise برمی‌گرداند که در صورت resolve مقدار deviceId را برمی‌گرداند و در صورت بروز خطا reject می شود.

Pushe.getDeviceId()
.then((deviceId) => {
console.log(`deviceId is: ${deviceId}`);
})
.catch((error) => {
console.log('Could not get deviceId');
})

متد Pushe.getGoogleAdvertisingId

Android

این متد یک Promise برمی‌گرداند که در صورت resolve شدن مقدار googleAdvertisingId را به ما می‌دهد و در صورت بروز خطا reject می شود.

Pushe.getAdvertisingId()
.then((adId) => {
console.log(`adId is ${adId}`);
})
.catch((error) => {
console.log(`Could not get adId`);
});

دریافت مقدار شناسه‌های سفارشی

برای دریافت مقادیر شناسه های سفارشی شده که متدهای آن در بالا توضیح داده شد می توانید از متد‌های زیر استفاده کنید. توضیحات این شناسه‌ها در جدول زیر آمده است:

شناسهتوضیحاتنحوه دریافت
شناسه سفارشی userEmailشناسه سفارشی ایمیل که توسط شما از قبل ذخیره شده توسط این متد قابل دریافت می‌باشد.Pushe.getUserEmail
شناسه سفارشی userPhoneNumberشناسه سفارشی شماره کاربر که از قبل توسط شما ذخیره شده و توسط این متد قابل دریافت می‌باشد.Pushe.getUserPhoneNumber
شناسه سفارشی customIdشناسه customId که از قبل توسط شما ذخیره شده و توسط این متد قابل دریافت می‌باشد.Pushe.getCustomId

متد Pushe.getUserEmail

Android

این متد مقداری که برای email از قبل توسط Pushe.setUserEmail ذخیره شده را برمی‌گرداند. در صورتی که هیچ مقدار ایمیلی از قبل برای آن ذخیره نشده باشد یک string خالی برمی‌گرداند.

این متد یک Promise برمی‌گرداند که در صورت resolve شدن مقدار userEmail را به ما می‌دهد و در صورت بروز خطا reject می‌شود.

Pushe.getUserEmail()
.then((userEmail) => {
console.log(`User email is: ${userEmail}`);
})
.catch((error) => {
console.log(`Error getting user email`);
});

متد Pushe.getUserPhoneNumber

Android

این متد مقداری که برای phoneNumber از قبل توسط Pushe.setUserPhoneNumber ذخیره شده را برمی‌گرداند. در صورتی که هیچ مقداری از قبل ذخیره نشده باشد یک string خالی بر‌می‌گرداند.

این متد یک Promise برمی‌گرداند که در صورت resolve شدن مقدار userEmail را به ما می‌دهد و در صورت بروز خطا reject می‌شود.

Pushe.getUserPhoneNumber()
.then((phoneNumber) => {
console.log(`userPhoneNumber is: ${phoneNumber}`);
})
.catch((error) => {
console.log(`Error getting user phone number`);
});

متد Pushe.getCustomId

Android

این متد مقداری که از قبل برای customId توسط Pushe.setCustomId ذخیره شده را بر‌می‌گرداند. در صورتی که هیچ مقداری از قبل ذخیره نشده باشد یک string خالی برمی‌گرداند.

این متد یک Promise برمی‌گرداند که در صورت resolve شدن مقدار customId را به ما می‌دهد و در صورت بروز خطا reject می‌شود.

Pushe.getCustomId()
.then((customId) => {
console.log(`customId is: ${customId}`)
})
.catch((error) => {
console.log(`Error getting customId`);
});