Bump version, add purchase logging

This commit is contained in:
Karim Abou Zeid 2017-10-02 13:45:46 +02:00
commit d4624ecc8f
No known key found for this signature in database
GPG key ID: 948B11DC67FD9BAF
4 changed files with 62 additions and 57 deletions

View file

@ -6,6 +6,7 @@ import android.os.Build;
import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.TransactionDetails;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.core.CrashlyticsCore;
import com.kabouzeid.gramophone.appshortcuts.DynamicShortcutManager;
@ -33,7 +34,11 @@ public class App extends Application {
Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build();
Fabric.with(this, crashlyticsKit);
if (!BuildConfig.DEBUG) {
Fabric.with(this, crashlyticsKit, new Answers());
} else {
Fabric.with(this, crashlyticsKit); // crashlytics kit is disabled here
}
// Set up dynamic shortcuts
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {

View file

@ -14,12 +14,19 @@ import android.widget.Toast;
import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.TransactionDetails;
import com.crashlytics.android.answers.AddToCartEvent;
import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.answers.ContentViewEvent;
import com.crashlytics.android.answers.PurchaseEvent;
import com.kabouzeid.appthemehelper.color.MaterialColor;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.BuildConfig;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import java.lang.ref.WeakReference;
import java.math.BigDecimal;
import java.util.Currency;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -72,12 +79,24 @@ public class PurchaseActivity extends AbsBaseActivity implements BillingProcesso
@Override
public void onClick(View v) {
billingProcessor.purchase(PurchaseActivity.this, App.PRO_VERSION_PRODUCT_ID);
if (!BuildConfig.DEBUG) {
Answers.getInstance().logAddToCart(new AddToCartEvent()
.putCurrency(Currency.getInstance("EUR"))
.putItemId("pro_version")
.putItemName("Phonograph Pro")
.putItemPrice(BigDecimal.valueOf(3)));
}
}
});
billingProcessor = new BillingProcessor(this, App.GOOGLE_PLAY_LICENSE_KEY, this);
if (!BuildConfig.DEBUG) {
Answers.getInstance().logContentView(new ContentViewEvent()
.putContentName("Purchase Activity")
.putContentId("1"));
}
}
private void restorePurchase() {
@ -91,6 +110,15 @@ public class PurchaseActivity extends AbsBaseActivity implements BillingProcesso
public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
Toast.makeText(this, R.string.thank_you, Toast.LENGTH_SHORT).show();
setResult(RESULT_OK);
if (!BuildConfig.DEBUG) {
Answers.getInstance().logPurchase(new PurchaseEvent()
.putCurrency(Currency.getInstance("EUR"))
.putItemPrice(BigDecimal.valueOf(3))
.putItemId("pro_version")
.putSuccess(true)
.putItemName("Phonograph Pro"));
}
}
@Override