Fluwx
is flutter plugin for WeChatSDK which allows developers to call
WeChatSDK native APIs.
Join QQ Group now: 1003811176
Breaking changes :Fluwx won't request permission(WRITE_EXTERNAL_STORAGE) since 4.5.0. That means you will need to handle permission when sharing images, if FileProvider is not supported.
Fluwx
is good but not God. You'd better read official documents before
integrating Fluwx
. Then you'll understand how to generate Android signature, what's universal link for iOS, how to add URL schema for iOS and so on.
Add the following dependencies in your pubspec.yaml
file:
Fluwx
with pay:
dependencies:
fluwx: ^${latestVersion}
Fluwx
without pay:
Developers who need to exclude payment for iOS can enable
no_pay
in pubspec.yaml.NOTE: Never forget to replace ^${latestVersion} with actual version.
Fluwx
enables multiple configurations in the section fluwx
of pubspec.yaml
from v4, you can reference pubspec.yaml
for more details.
For iOS, some configurations, such as url_scheme,universal_link, LSApplicationQueriesSchemes, can be configured by
fluwx
, what you need to do is to fill configurations inpubspec.yaml
app_id. Recommend. It'll be used to generate scheme on iOS。This is not used to init WeChat SDK so you still need to call fluwx.registerApi
manually.
debug_logging. Optional. Enable logs by setting it true
.
flutter_activity. Optional. This is usually used by cold boot from WeChat on Android. Fluwx
will try to launch launcher activity if not set.
universal_link. Recommend for iOS. It'll be used to generate universal link on your projects.
scene_delegate. Optional. Use AppDelegate
or SceneDelegate
. See official documents for more details.
For iOS
If you are failing cannot load such file -- plist
on iOS, please do the following steps:
# step.1 install missing dependencies
sudo gem install plist
# step.2 enter iOS folder(example/ios/,ios/)
cd example/ios/
# step.3 execute
pod install
{
"module": {
"querySchemes": [
"weixin"
],
}
}
Register your app via fluwx
if necessary.
Fluwx fluwx = Fluwx();
fluwx.registerApi(appId: "wxd930ea5d5a228f5f",universalLink: "https://your.univerallink.com/link/");
The param universalLink
only works with iOS. You can read this document to learn
how to create universalLink. You can also learn how to add URL schema, how to add LSApplicationQueriesSchemes
in your iOS project. This is essential.
For Android, you shall know to how generate signature for your app in this page.
And you have to understand the difference between debug signature and release signature. Once the signature is incorrect, then you'll get errCode = -1
.
It' better to register your API as early as possible.
For more capabilities, you can read the public functions of fluwx
.
Buy the writer a cup of coffee。
Copyright 2023 OpenFlutter Project
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.