اذهب إلى المحتوى

السؤال

نشر

استعملت هاذ المكتبة

ِimplementation "com.android.billingclient:billing:$billing_version

هاذي هي الاكواد التي استعملت

billingClient=BillingClient.newBuilder(this)
                .enablePendingPurchases()
                .setListener(new PurchasesUpdatedListener() {
                    @Override
                    public void onPurchasesUpdated(@NonNull BillingResult billingResult, @Nullable List<Purchase> list) {
                        if(billingResult.getResponseCode()==BillingClient.BillingResponseCode.OK&&list!=null){
                            for (Purchase purchase:list){
                                if (purchase.getPurchaseState()==Purchase.PurchaseState.PURCHASED&&
                                !purchase.isAcknowledged()){


                                }
                            }
                        }
                    }
                }).build();
        connectToGooglePlayBilling();
private void connectToGooglePlayBilling(){
        billingClient.startConnection(
                new BillingClientStateListener() {
                    @Override
                    public void onBillingServiceDisconnected() {
                        connectToGooglePlayBilling();
                    }

                    @Override
                    public void onBillingSetupFinished(@NonNull BillingResult billingResult) {
                        if (billingResult.getResponseCode()==BillingClient.BillingResponseCode.OK){
                            getProductDetails();
                            
                            
                        }
                    }
                }
        );
    }
    private void getProductDetails(){
        List<String> productId=new ArrayList<>();
        productId.add("by_product");

        SkuDetailsParams getProductDetailsQuery=SkuDetailsParams
                .newBuilder()
                .setSkusList(productId)
                .setType(BillingClient.SkuType.INAPP)
                .build();
        Activity activity=this;
        billingClient.querySkuDetailsAsync(
                getProductDetailsQuery, new SkuDetailsResponseListener() {
                    @Override
                    public void onSkuDetailsResponse(@NonNull BillingResult billingResult, @Nullable List<SkuDetails> list) {
                        if(billingResult.getResponseCode()==BillingClient.BillingResponseCode.OK&&
                        list!=null){
                            TextView itemNameTextView =findViewById(R.id.tv_shop);
                            Button itemPriceButton =findViewById(R.id.btn_shop);
                            SkuDetails itemInfo=list.get(0);
                            itemNameTextView.setText(itemInfo.getTitle());
                            itemPriceButton.setText(itemInfo.getPrice());
                            itemPriceButton.setOnClickListener(new View.OnClickListener() {
                                @Override
                                public void onClick(View view) {
                                    billingClient.launchBillingFlow(
                                            activity, BillingFlowParams.newBuilder().setSkuDetails(itemInfo).build()
                                    );
                                }
                            });

                            
                        }
                    }
                }
        );
    }

ماهي الخطوات الناقصة مثل تاكيد المبيعة وكيف استخدم العنصر المسترى

Recommended Posts

لا توجد أي إجابات على هذا السؤال بعد

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...