chabokpush/chabok-demo-map

اررور هنگام مقداردهی اولیه

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 وارد نمایید.

توی لوکالم اوکی هست و پیغام خوش آمد گویی رو چاپ میکنه
اما روی سرور این اررور رو دارم

untitled1

دامنه رو هم به صورت
ufarm.ir
هم
www.ufarm.ir
و همچنین
http://ufarm.ir
و
https://ufarm.ir
تست گرفتم

خطای ۴۰۴ مربوط به وجود نداشتن کاربر می‌باشد

رجیستر کاربر به درستی انجام میگیرد؟

آیا منطقی جهت unregister کاربر دارید؟

آیا کاربر را از طریق پنل حذف کردید؟

دامنه را به فرم ufarm.ir وارد نمایید

رجیستر کاربر به چه صورت باید باشه ؟
userId رو چطور بدست بیارم؟

رجیستر کاربر به چه صورت باید باشه ؟

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

userId رو چطور بدست بیارم؟

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

چطور میتونم کاربری که رجیستر شده پاک کنم و با آی دی جدید رجیستر کنم؟
و اینکه چطور تگ Registered رو بدم
برای اندروید و ios هرکاربر تگ داره

با این دستور chabok.unregister();
کاربر حذف میشه
اما رجیستر انجام نمیشه
chabok.register('${this.link_id}');
chabok.register(this.link_id);

چطور میتونم کاربری که رجیستر شده پاک کنم و با آی دی جدید رجیستر کنم؟

اگه صرفا میخواین کاربر حذف بشه از chabok.unregister استفاده کنید و اگه میخواین کاربر ریرجیستر بشه با یک userId جدید دوباره متدchabok.register رو صدا بزنین

برای مطالعه بیشتر به این بخش از مستندات مراجعه کنید.

اینکه چطور تگ Registered رو بدم برای اندروید و ios هرکاربر تگ داره

من کامل متوجه منظور شما نشدم اگه میخواین یک تگ به این کاربر اضافه کنین از متد chabok.addTag استفاده کنین

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

this.chabok.unregister();
this.chabok.register(userId);
this.chabok.addTag('registered');

بعد از این دستورات اررور زیر رو میگیرم
untitled-4

هرجا بلافاصله بعد از رجیستر از ادد تگ استفاده میکنم اررور میگیرم

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

لطفا فرایند addTag را به بعد از انجام شدن register انتقال دهید.

this.chabok
      .register(userId)
      .then(_ => {
              this.chabok.addTag('registered');
              })

هرجا بلافاصله بعد از رجیستر از ادد تگ استفاده میکنم اررور میگیرم

فرایند ریجستر کاربر یک فرایند async می‌باشد و همچنین addTag نیاز به رجیستر بودن کاربر دارد.

اطلاعاتم درست هستش
فقط موقع ادد تگ من این مشکل رو دارم
مشکلم تقریبا حل شد ولی 3 یا 4 بار انجام نمیشه یکبار انجام میشه
و همون اررور

مشکلم تقریبا حل شد ولی 3 یا 4 بار انجام نمیشه یکبار انجام میشه

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

تصویر داده شده مربوط به خطای ارتباط با اینترنت (خطای شبکه) هست. احتمالا اختلالی در شبکه شما در اون زمان رخ داده بوده