اررور هنگام مقداردهی اولیه
Opened this issue · 22 comments
Cannot read property 'Chabok' of undefined
Cannot read property 'Chabok' of undefined
اگه امکانش هست نمونه کد پیادهسازی کتابخانه چابک رو برامون بفرستید (با در نظر گرفتن کلیدهای حسابتون)
مطمئن بشید که کتابخانه چابک به درستی لود شده باشه
import {Component, OnInit} from '@angular/core';
import {chabokpush, Chabok} from 'chabokpush';
@component({
selector: 'app-index',
templateUrl: './index.component.html',
styleUrls: ['./index.component.css']
})
export class IndexComponent implements OnInit {
constructor(private chabok: chabokpush) {
console.log('ji');
const auth = {
appId: 'ufarm',
webKey: 'WEB_KEY',
devMode: true
};
const options = {
webpush: {
enabled: true,
publicKey: 'PUBLIC_KEY'
},
silent: false,
};
this.chabok = new chabokpush();
this.chabok.Chabok(auth, options);
}
ngOnInit() {
this.chabok.register('<USER_ID>');
if (this.chabok.isRegistered()) {
this.chabok.register(this.chabok.getUserId());
} else {
this.chabok.register('<USER_ID>');
}
}
}
لطفا روش زیر را امتحان کنید
import { Chabok } from chabokpush;
// .....
this.chabok = new Chabok(auth, options);
@maryamiiiiii
لطفا devMode
رو به false
تغییر بدید چون اطلاعات حساب عملیاتی خودتون رو دادید ولی دارین به محیط آزمایشی وصل میشین
const auth = {
appId: 'ufarm',
webKey: 'WEB_KEY',
devMode: false
};
باز هم همون اررو با این تفاوت که sandbox شده ufarm.push...
توجه داشته باشید در صورتی که در حال تست هستین دامنه باید localhost
تنظیم شده باشد
در صورتی که کد شما عملیاتی شده و بر روی سایت بارگذاری شده است دامنه سایت را بدون www وارد نمایید.
دامنه رو هم به صورت
ufarm.ir
هم
www.ufarm.ir
و همچنین
http://ufarm.ir
و
https://ufarm.ir
تست گرفتم
خطای ۴۰۴ مربوط به وجود نداشتن کاربر میباشد
رجیستر کاربر به درستی انجام میگیرد؟
آیا منطقی جهت unregister
کاربر دارید؟
آیا کاربر را از طریق پنل حذف کردید؟
دامنه را به فرم ufarm.ir
وارد نمایید
رجیستر کاربر به چه صورت باید باشه ؟
userId رو چطور بدست بیارم؟
چطور میتونم کاربری که رجیستر شده پاک کنم و با آی دی جدید رجیستر کنم؟
و اینکه چطور تگ Registered رو بدم
برای اندروید و ios هرکاربر تگ داره
با این دستور chabok.unregister();
کاربر حذف میشه
اما رجیستر انجام نمیشه
chabok.register('${this.link_id}'
);
chabok.register(this.link_id);
چطور میتونم کاربری که رجیستر شده پاک کنم و با آی دی جدید رجیستر کنم؟
اگه صرفا میخواین کاربر حذف بشه از chabok.unregister
استفاده کنید و اگه میخواین کاربر ریرجیستر بشه با یک userId
جدید دوباره متدchabok.register
رو صدا بزنین
برای مطالعه بیشتر به این بخش از مستندات مراجعه کنید.
اینکه چطور تگ Registered رو بدم برای اندروید و ios هرکاربر تگ داره
من کامل متوجه منظور شما نشدم
اگه میخواین یک تگ به این کاربر اضافه کنین از متد chabok.addTag
استفاده کنین
برای مطالعه بیشتر درباره گروهبندی کاربران به این بخش از مستندات مراجعه کنید.
هرجا بلافاصله بعد از رجیستر از ادد تگ استفاده میکنم اررور میگیرم
خطای 401 به علت ناهمخوانی اطلاعات توکن webKey
و دامنه میباشد. لطفا از صحت این اطلاعات ابتدا اطمینان حاصل فرمایید.
لطفا فرایند addTag
را به بعد از انجام شدن register
انتقال دهید.
this.chabok
.register(userId)
.then(_ => {
this.chabok.addTag('registered');
})
هرجا بلافاصله بعد از رجیستر از ادد تگ استفاده میکنم اررور میگیرم
فرایند ریجستر کاربر یک فرایند async
میباشد و همچنین addTag
نیاز به رجیستر بودن کاربر دارد.
اطلاعاتم درست هستش
فقط موقع ادد تگ من این مشکل رو دارم
مشکلم تقریبا حل شد ولی 3 یا 4 بار انجام نمیشه یکبار انجام میشه
و همون اررور
مشکلم تقریبا حل شد ولی 3 یا 4 بار انجام نمیشه یکبار انجام میشه
این مشکل به خاطر ناهمخوان بودن یکی از اینستنسهای API ما بود و بر طرف شد.
تصویر داده شده مربوط به خطای ارتباط با اینترنت (خطای شبکه) هست. احتمالا اختلالی در شبکه شما در اون زمان رخ داده بوده