chabokpush / chabok-demo-map

Chabok Demo Map Tracker
3 stars 1 forks source link

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

Open maryamiiiiii opened 5 years ago

maryamiiiiii commented 5 years ago

Cannot read property 'Chabok' of undefined

Husseinhj commented 5 years ago

Cannot read property 'Chabok' of undefined

اگه امکانش هست نمونه کد پیاده‌سازی کتابخانه چابک رو برامون بفرستید (با در نظر گرفتن کلید‌های حسابتون)

مطمئن بشید که کتابخانه چابک به درستی لود شده باشه

maryamiiiiii commented 5 years ago

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>');
    }
}

}

amir-yaghoubi commented 5 years ago

لطفا روش زیر را امتحان کنید

  import { Chabok } from chabokpush;

  // .....

  this.chabok = new Chabok(auth, options);
maryamiiiiii commented 5 years ago

untitled

Husseinhj commented 5 years ago

@maryamiiiiii لطفا devMode رو به false تغییر بدید چون اطلاعات حساب عملیاتی خودتون رو دادید ولی دارین به محیط آزمایشی وصل میشین

const auth = {
        appId: 'ufarm',
        webKey: 'WEB_KEY',
        devMode: false
    };
maryamiiiiii commented 5 years ago

باز هم همون اررو با این تفاوت که sandbox شده ufarm.push...

amir-yaghoubi commented 5 years ago

توجه داشته باشید در صورتی که در حال تست هستین دامنه باید localhost تنظیم شده باشد

در صورتی که کد شما عملیاتی شده و بر روی سایت بارگذاری شده است دامنه سایت را بدون www وارد نمایید.

maryamiiiiii commented 5 years ago

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

untitled1

maryamiiiiii commented 5 years ago

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

amir-yaghoubi commented 5 years ago

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

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

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

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

amir-yaghoubi commented 5 years ago

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

maryamiiiiii commented 5 years ago

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

Husseinhj commented 5 years ago

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

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

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

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

maryamiiiiii commented 5 years ago

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

maryamiiiiii commented 5 years ago

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

amir-yaghoubi commented 5 years ago

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

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

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

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

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

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

maryamiiiiii commented 5 years ago

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

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

maryamiiiiii commented 5 years ago

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

amir-yaghoubi commented 5 years ago

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

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

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

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

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

maryamiiiiii commented 5 years ago

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

maryamiiiiii commented 5 years ago

image

amir-yaghoubi commented 5 years ago

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

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

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