Как скрыть логотип PayPal на устройствах Android с помощью плагина card.io для Cordova - PullRequest
0 голосов
/ 27 сентября 2019

Согласно документации плагина, кажется, что нет опции конфигурации, чтобы скрыть логотип PayPal в панели действий на карточке.Однако в card.io SDK для Android есть возможность сделать это:

https://card -io.github.io / card.io-Android-SDK / io / card / payment / CardIOActivity.html # EXTRA_USE_PAYPAL_ACTIONBAR_ICON

Есть ли способ скрыть этот логотип?

1 Ответ

1 голос
/ 27 сентября 2019

Да, есть способ.

Сначала необходимо удалить платформу Android, чтобы загрузить все зависимости с нуля:

ionic cordova platform remove Android

Затем добавьте плагин card.io cordova:

ionic cordova plugin add card.io.cordova.mobilesdk

После этого в "plugins / card.io.cordova.mobilesdk / src / android" необходимо внести изменения в 2 файла:

build.gradle replace

dependencies {
  compile 'io.card:android-sdk:5.4.0'
}

Таким образом:

dependencies {
  compile 'io.card:android-sdk:5.5.1'
}

В файле CardIOCordovaPlugin.java необходимо добавить новый параметр конфигурации EXTRA_USE_PAYPAL_ACTIONBAR_ICON:

  private void scan(JSONArray args) throws JSONException {
        Intent scanIntent = new Intent(this.activity, CardIOActivity.class);
        JSONObject configurations = args.getJSONObject(0);
        // customize these values to suit your needs.
        scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, this.getConfiguration(configurations, "requireExpiry", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, this.getConfiguration(configurations, "requireCVV", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_POSTAL_CODE, this.getConfiguration(configurations, "requirePostalCode", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_MANUAL_ENTRY, this.getConfiguration(configurations, "suppressManual", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_RESTRICT_POSTAL_CODE_TO_NUMERIC_ONLY, this.getConfiguration(configurations, "restrictPostalCodeToNumericOnly", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_KEEP_APPLICATION_THEME, this.getConfiguration(configurations, "keepApplicationTheme", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CARDHOLDER_NAME, this.getConfiguration(configurations, "requireCardholderName", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_USE_CARDIO_LOGO, this.getConfiguration(configurations, "useCardIOLogo", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_SCAN_INSTRUCTIONS, this.getConfiguration(configurations, "scanInstructions", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_NO_CAMERA, this.getConfiguration(configurations, "noCamera", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_SCAN_EXPIRY, this.getConfiguration(configurations, "scanExpiry", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_LANGUAGE_OR_LOCALE, this.getConfiguration(configurations, "languageOrLocale", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_GUIDE_COLOR, this.getConfiguration(configurations, "guideColor", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_CONFIRMATION, this.getConfiguration(configurations, "suppressConfirmation", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_HIDE_CARDIO_LOGO, this.getConfiguration(configurations, "hideCardIOLogo", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_SCAN, this.getConfiguration(configurations, "suppressScan", false)); // default: false
        scanIntent.putExtra(CardIOActivity.EXTRA_USE_PAYPAL_ACTIONBAR_ICON, false); // THIS IS THE NEW OPTION
        this.cordova.startActivityForResult(this, scanIntent, REQUEST_CARD_SCAN);
    }

В этом случае я жестко закодированэта новая опция в false, но вы можете реализовать метод getConfiguration (), чтобы установить эту опцию со своей ионной страницы.

Как только вы сделаете эти 2 изменения, снова добавьте свою платформу Android в свой проект (чтобы загрузить последнюю версиюSDK v5.5.1):

ionic cordova platfrom add android

Вот и все, логотип PayPal исчез!

...