Skip to content

Commit 8dae2ff

Browse files
committed
Merge branch 'release/1.1.2'
2 parents fd5adda + 2b2d9c5 commit 8dae2ff

File tree

18 files changed

+192
-80
lines changed

18 files changed

+192
-80
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.1.2
2+
* Fix Android `manualTrackPurchase` args parsing
3+
* Update Example app
4+
15
## 1.1.1
26
* Update docs
37

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ To use Qonversion in your Flutter app, add `qonversion` as a [dependency in your
1616

1717
```
1818
dependencies:
19-
qonversion_flutter: ^1.1.1
19+
qonversion_flutter: ^1.1.2
2020
```
2121

2222
Run `flutter pub get` to install dependency.

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
group 'com.qonversion.flutter.sdk.qonversion_flutter_sdk'
2-
version '1.1.1'
2+
version '1.1.2'
33

44
buildscript {
55
ext.kotlin_version = '1.3.50'

android/src/main/kotlin/com/qonversion/flutter/sdk/qonversion_flutter_sdk/QonversionFlutterSdkPlugin.kt

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,12 @@ class QonversionFlutterSdkPlugin internal constructor(registrar: Registrar): Met
6767
}
6868

6969
private fun trackPurchase(args: Map<String, Any>, result: Result) {
70-
@Suppress("UNCHECKED_CAST")
71-
val detailsMap = args["details"] as Map<String, Any>
72-
@Suppress("UNCHECKED_CAST")
73-
val purchaseMap = args["purchase"] as Map<String, Any>
70+
val detailsJson = args["details"] as String
71+
val purchaseJson = args["purchase"] as String
72+
val signature = args["signature"] as String
7473

75-
val details = createSkuDetails(detailsMap)
76-
val purchase = createPurchase(purchaseMap)
74+
val details = SkuDetails(detailsJson)
75+
val purchase = Purchase(purchaseJson, signature)
7776

7877
val callback = object: QonversionCallback {
7978
override fun onSuccess(uid: String) {
@@ -89,7 +88,6 @@ class QonversionFlutterSdkPlugin internal constructor(registrar: Registrar): Met
8988
}
9089

9190
private fun addAttributionData(args: Map<String, Any>, result: Result) {
92-
@Suppress("UNCHECKED_CAST")
9391
val data = args["data"] as? Map<String, Any> ?: return result.noDataError()
9492

9593
if (data.isEmpty()) {
@@ -110,15 +108,4 @@ class QonversionFlutterSdkPlugin internal constructor(registrar: Registrar): Met
110108

111109
result.success(null)
112110
}
113-
114-
private fun createSkuDetails(map: Map<String, Any>): SkuDetails {
115-
val json = map.toString()
116-
return SkuDetails(json)
117-
}
118-
119-
private fun createPurchase(map: Map<String, Any>): Purchase {
120-
val json = map.toString()
121-
val signature = map["signature"] as String
122-
return Purchase(json, signature)
123-
}
124111
}

example/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ pubspec.lock
3434
# iOS related
3535
ios/Podfile.lock
3636

37+
# Android related
38+
android/keystore/
39+
3740
# Web related
3841
lib/generated_plugin_registrant.dart
3942

example/android/app/build.gradle

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ if (flutterVersionCode == null) {
1818

1919
def flutterVersionName = localProperties.getProperty('flutter.versionName')
2020
if (flutterVersionName == null) {
21-
flutterVersionName = '1.0'
21+
flutterVersionName = '1.0.0'
2222
}
2323

2424
apply plugin: 'com.android.application'
@@ -38,19 +38,35 @@ android {
3838

3939
defaultConfig {
4040
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
41-
applicationId "com.qonversion.flutter.sdk.qonversion_flutter_sdk_example"
41+
applicationId "com.qonversion.sample"
4242
minSdkVersion 16
4343
targetSdkVersion 28
4444
versionCode flutterVersionCode.toInteger()
4545
versionName flutterVersionName
4646
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
4747
}
4848

49+
signingConfigs {
50+
release {
51+
File propertiesFile = project.rootProject.file('local.properties')
52+
if (propertiesFile.exists()) {
53+
Properties properties = new Properties()
54+
properties.load(propertiesFile.newDataInputStream())
55+
storeFile file(properties.getProperty('storeFile'))
56+
keyAlias properties.getProperty('keyAlias')
57+
storePassword properties.getProperty('storePassword')
58+
keyPassword properties.getProperty('keyPassword')
59+
}
60+
}
61+
}
62+
4963
buildTypes {
5064
release {
51-
// TODO: Add your own signing config for the release build.
52-
// Signing with the debug keys for now, so `flutter run --release` works.
53-
signingConfig signingConfigs.debug
65+
signingConfig signingConfigs.release
66+
}
67+
debug {
68+
signingConfig signingConfigs.release
69+
debuggable true
5470
}
5571
}
5672
}

example/android/app/src/debug/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2-
package="com.qonversion.flutter.sdk.qonversion_flutter_sdk_example">
2+
package="com.qonversion.sample">
33
<!-- Flutter needs it to communicate with the running application
44
to allow setting breakpoints, to provide hot reload, etc.
55
-->

example/android/app/src/main/AndroidManifest.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2-
package="com.qonversion.flutter.sdk.qonversion_flutter_sdk_example">
2+
package="com.qonversion.sample">
33
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
44
calls FlutterMain.startInitialization(this); in its onCreate method.
55
In most cases you can leave this as-is, but you if you want to provide
66
additional functionality it is fine to subclass or reimplement
77
FlutterApplication and put your custom class here. -->
8+
<uses-permission android:name="android.permission.INTERNET"/>
9+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
10+
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
11+
<uses-permission android:name="com.android.vending.BILLING"/>
812
<application
913
android:name="io.flutter.app.FlutterApplication"
10-
android:label="qonversion_flutter_sdk_example"
14+
android:label="com.qonversion.sample"
1115
android:icon="@mipmap/ic_launcher">
1216
<activity
1317
android:name=".MainActivity"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.qonversion.flutter.sdk.qonversion_flutter_sdk_example
1+
package com.qonversion.sample
22

33
import androidx.annotation.NonNull;
44
import io.flutter.embedding.android.FlutterActivity

example/android/app/src/profile/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2-
package="com.qonversion.flutter.sdk.qonversion_flutter_sdk_example">
2+
package="com.qonversion.sample">
33
<!-- Flutter needs it to communicate with the running application
44
to allow setting breakpoints, to provide hot reload, etc.
55
-->

0 commit comments

Comments
 (0)