Giter Club home page Giter Club logo

nami-xamarin's People

Contributors

acantarero avatar kigi avatar namidan avatar seansparkman avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

nami-xamarin's Issues

iOS binding sometimes tries to cast object to wrong type on `BuySKU` call

NamiPurchaseManager.BuySKU(skuToPurchase, paywall: _paywall, (purchases, purchaseState, error) =>
Unable to cast object of type 'Foundation.NSArray`1[[Foundation.NSString, Xamarin.iOS, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065]]' to type 'Foundation.NSArray`1[[NamiML.NamiPurchase, NamiML.SDK, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]'

restructure project

  • all example apps should be in Samples/ directory
  • iOS and Android binding libraries should be structured in the same way

Add all android project dependencies

The android SDK depends on a number of 3rd party libraries that need to be integrated with the binding project.

kotlin = "1.5.31"
ktlint = "10.2.0"
room = "2.3.0"
coroutines = "1.5.2"
playBilling = "4.0.0"
retrofit = "2.9.0"
moshi = "1.12.0"
androidXTestCore = "1.4.0"
jacoco = "0.8.7"
okhttp = "4.9.3"

[plugins]
gradleDependencyUpdate = { id = "com.github.ben-manes.versions", version = "0.41.0" }

[libraries]
## Android UI
androidx-appcompat = "androidx.appcompat:appcompat:1.4.0"
androidx-fragmentKtx = "androidx.fragment:fragment-ktx:1.4.0"
androidx-coreKtx = "androidx.core:core-ktx:1.7.0"
androidx-constraintlayout = "androidx.constraintlayout:constraintlayout:2.1.3"
androidx-lifecycle = "androidx.lifecycle:lifecycle-process:2.4.0"
material = "com.google.android.material:material:1.5.0-beta01"

## Android Non-UI
room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
desugarJdkLibs = "com.android.tools:desugar_jdk_libs:1.1.5"
playBilling-main = { module = "com.android.billingclient:billing", version.ref = "playBilling" }
playBilling-ktx = { module = "com.android.billingclient:billing-ktx", version.ref = "playBilling" }

## Kotlin
coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
kotlinxCollectionsImmutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.4"

## Third Party
# Square
retrofit-main = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
retrofit-converter-moshi = { module = "com.squareup.retrofit2:converter-moshi", version.ref = "retrofit" }
retrofit-converter-scalars = { module = "com.squareup.retrofit2:converter-scalars", version.ref = "retrofit" }
moshi-main = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
okhttp-main = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
okhttp-loggingInterceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
moshi-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" }

update forms app UI

Sample app UI should consist of 2 screens:

  • Home Screen
  • About Screen

Home screen:
Screenshot_20220310-101322

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.