Android Uygulamanıza Abonelik Geri Yükleme Seçeneği Ekleme
Uygulama içi satın alımlar, Android uygulamalarından gelir elde etmenin harika bir yoludur. Ancak, kullanıcılarınızın aboneliklerini geri yüklemelerine izin vermezseniz, aboneliklerini iptal etmeleri veya cihazlarını değiştirmeleri durumunda aboneliklerini kaybedebilirler. Bu, kullanıcı deneyimini olumsuz etkileyebilir ve gelir kaybına yol açabilir.
Bu makalede, Android uygulamanıza abonelik geri yükleme seçeneği ekleme adımlarını ele alacağız.
1. Adım: Google Play Geliştirici Konsolu’nda Abonelik Oluşturma
İlk olarak, Google Play Geliştirici Konsolu’nda bir abonelik oluşturmanız gerekir. Bunu yapmak için şu adımları izleyin:
- Google Play Geliştirici Konsolu’na giriş yapın.
- “Uygulamalar ve oyunlar” bölümüne gidin.
- Uygulamanızı seçin.
- “Uygulama içi satın alımlar” bölümüne gidin.
- “Yeni ürün” düğmesine tıklayın.
- “Abonelik” seçeneğini seçin.
- Aboneliğinizin ayrıntılarını girin.
- “Kaydet” düğmesine tıklayın.
2. Adım: Uygulamanıza Abonelik Geri Yükleme Kodu Ekleme
Aboneliğinizi oluşturduktan sonra, uygulamanıza abonelik geri yükleme kodu eklemeniz gerekir. Bunu yapmak için şu adımları izleyin:
- Uygulamanızın
build.gradle
dosyasına şu satırı ekleyin:
implementation 'com.android.billing:billing:6.0.0'
- Uygulamanızın
AndroidManifest.xml
dosyasına şu satırı ekleyin:
<uses-permission android:name="com.android.vending.BILLING" />
- Uygulamanızın
MainActivity.java
dosyasına şu kodu ekleyin:
“`
import com.android.billing.client.api.BillingClient;
import com.android.billing.client.api.BillingClientStateListener;
import com.android.billing.client.api.BillingFlowParams;
import com.android.billing.client.api.BillingResult;
import com.android.billing.client.api.Purchase;
import com.android.billing.client.api.PurchasesUpdatedListener;
public class MainActivity extends AppCompatActivity implements PurchasesUpdatedListener {
private BillingClient billingClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
billingClient = BillingClient.newBuilder(this).setListener(this).build();
billingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(@NonNull BillingResult billingResult) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
// The billing client is ready to use.
}
}
@Override
public void onBillingServiceDisconnected() {
// The billing client was disconnected. Try to reconnect.
}
});
}
@Override
public void onPurchasesUpdated(@NonNull BillingResult billingResult, @Nullable List<Purchase> purchases) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
for (Purchase purchase : purchases) {
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
// The purchase was successful.
} else if (purchase.getPurchaseState() == Purchase.PurchaseState.PENDING) {
// The purchase is pending.
} else if (purchase.getPurchaseState() == Purchase.PurchaseState.CANCELED) {
// The purchase was canceled.
}
}
}
}
public void restorePurchases() {
billingClient.queryPurchasesAsync(BillingClient.SkuType.SUBS, new PurchasesResponseListener() {
@Override
public void onQueryPurchasesResponse(@NonNull BillingResult billingResult, @Nullable List<Purchase> purchases) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
for (Purchase purchase : purchases) {
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
// The purchase was successful.
} else if (purchase.getPurchaseState() == Purchase.PurchaseState.PENDING) {
// The purchase is pending.
} else if (purchase.getPurchaseState() == Purchase.PurchaseState.CANCELED) {
// The purchase was canceled.
}
}
}
}
});
}
}
“`
3. Adım: Uygulamanızı Test Etme
Uygulamanızı test etmek için şu adımları izleyin:
- Uygulamanızı bir Android cihazına yükleyin.
- Uygulamayı başlatın ve aboneliğinizi satın alın.
- Uygulamayı kapatın ve yeniden başlatın.
- Uygulamanın aboneliğinizi geri yüklediğini kontrol edin.
Faydalı Siteler ve Dosyalar
- Google Play Geliştirici Konsolu
- Uygulama İçi Satın Alma Kılavuzu
- Abonelik Geri Yükleme Kılavuzu
- BillingClient Kütüphanesi