رفتن به مطلب

ارسال‌های توصیه شده

درود به همه عزیزان ورود با بازار توی کاتلین پیاده سازی شده. برای راحتی کار جاواکاران عزیز یه کلاس واسط نوشتم که بدون دردسر میتونید ازش استفاده کنید

اول کلاس کاتلین زیر رو به پروژه تون اضافه کنید

package com.poolakey.wrapper

import android.content.Intent
import androidx.fragment.app.FragmentActivity
import com.farsitel.bazaar.BazaarClientProxy
import com.farsitel.bazaar.core.BazaarSignIn
import com.farsitel.bazaar.core.BazaarSignInClient
import com.farsitel.bazaar.core.callback.BazaarSignInCallback
import com.farsitel.bazaar.core.model.BazaarSignInOptions
import com.farsitel.bazaar.core.model.SignInOption
import com.farsitel.bazaar.storage.BazaarStorage
import com.farsitel.bazaar.storage.callback.BazaarStorageCallback
/**
 * Created by Mohamadreza Shahpiri on 11/22/2024.
 * Answercenter.ir
 ***************************************************
 */
class BazaarSignInWrapper {
    private var client: BazaarSignInClient? = null
    private var activity: FragmentActivity? = null
    fun initialize(activity: FragmentActivity) {
        val signInOption = BazaarSignInOptions.Builder(SignInOption.DEFAULT_SIGN_IN).build()
        client = BazaarSignIn.getClient(activity, signInOption)
    }

    fun startSignInIntent() {
        val intent = client?.getSignInIntent()
        activity?.startActivityForResult(intent, 1)
    }

    fun getAccountFromIntent(intent: Intent) =
        BazaarSignIn.getSignedInAccountFromIntent(intent)

    fun getLastSignedInAccount(callback: BazaarSignInCallback) =
        BazaarSignIn.getLastSignedInAccount(activity!!, activity, callback)

    fun getLastSignedInAccountSync() =
        BazaarSignIn.getLastSignedInAccountSync(activity!!, activity)

    fun saveData(
        data: ByteArray,
        callback: BazaarStorageCallback
    ) {
        BazaarStorage.saveData(
            context = activity!!, owner = activity,
            data = data, callback = callback
        )
    }

    fun getSavedData(
        callback: BazaarStorageCallback
    ) {
        BazaarStorage.getSavedData(
            context = activity!!, owner = activity,
            callback = callback
        )
    }

    fun isNeededToUpdateBazaar() = BazaarClientProxy.isNeededToUpdateBazaar(activity!!)

    fun showInstallBazaarView() = BazaarClientProxy.showInstallBazaarView(activity!!)

    fun showUpdateBazaarView() = BazaarClientProxy.showUpdateBazaarView(activity!!)
}

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

package com.poolakey.core;

import android.content.Intent;
import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;

import com.farsitel.bazaar.BazaarResponse;
import com.farsitel.bazaar.core.callback.BazaarSignInCallback;
import com.farsitel.bazaar.core.model.BazaarSignInAccount;
import com.farsitel.bazaar.storage.callback.BazaarStorageCallback;
import com.poolakey.wrapper.BazaarSignInWrapper;

public class MainActivity extends FragmentActivity {
    private BazaarSignInWrapper bazaarSignInWrapper;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        bazaarSignInWrapper.initialize(this);
        bazaarSignInWrapper.startSignInIntent();
        bazaarSignInWrapper.getLastSignedInAccount(new BazaarSignInCallback() {
            @Override
            public void onAccountReceived(BazaarResponse<BazaarSignInAccount> account) {

            }
        });
        bazaarSignInWrapper.saveData("test data".getBytes(), new BazaarStorageCallback() {
            @Override
            public void onDataReceived(@Nullable BazaarResponse<byte[]> response) {
                  if (response!=null){
                      String data= new String(response.getData());
                  }
            }
        });
        bazaarSignInWrapper.getSavedData(new BazaarStorageCallback() {
            @Override
            public void onDataReceived(@Nullable BazaarResponse<byte[]> response) {
                if (response!=null){
                    String data= new String(response.getData());
                }
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        BazaarSignInAccount account = bazaarSignInWrapper.getAccountFromIntent(data);
        if (account != null) {
            String accountId = account.getAccountId();
        }
    }
}

بقیه متدها رو هم به راحتی میتونید استفاده کنید.

مانا باشید :answercenter:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
  • اضافه کردن...