محمدرضا شاهپیری 5,623 ارسال شده در 22 بهمن، 2024 اشتراک گذاری ارسال شده در 22 بهمن، 2024 درود به همه عزیزان ورود با بازار توی کاتلین پیاده سازی شده. برای راحتی کار جاواکاران عزیز یه کلاس واسط نوشتم که بدون دردسر میتونید ازش استفاده کنید اول کلاس کاتلین زیر رو به پروژه تون اضافه کنید 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(); } } } بقیه متدها رو هم به راحتی میتونید استفاده کنید. مانا باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.