mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-19 17:52:45 +02:00
chore: update references to repositories (#10465)
--------- Co-authored-by: Melinda Fekete <melinda.fekete@getunleash.io>
This commit is contained in:
parent
54a0f68c9c
commit
a76e501438
@ -82,7 +82,7 @@ go mod init unleash-demo
|
|||||||
Install dependencies:
|
Install dependencies:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go get github.com/Unleash/unleash-client-go/v4
|
go get github.com/Unleash/unleash-go-sdk/v5
|
||||||
```
|
```
|
||||||
|
|
||||||
Next, let's make sure our setup is working. Make a call to the REST API to retrieve information about a country using its country code. Create a file named `main.go`:
|
Next, let's make sure our setup is working. Make a call to the REST API to retrieve information about a country using its country code. Create a file named `main.go`:
|
||||||
@ -237,7 +237,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
+ "github.com/Unleash/unleash-client-go/v4"
|
+ "github.com/Unleash/unleash-go-sdk/v5"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ... rest of the types ...
|
// ... rest of the types ...
|
||||||
|
@ -3,7 +3,7 @@ title: How to Implement Feature Flags in iOS
|
|||||||
slug: /feature-flag-tutorials/ios
|
slug: /feature-flag-tutorials/ios
|
||||||
---
|
---
|
||||||
|
|
||||||
iOS is a mobile operating system developed by Apple for their mostly used mobile device: the iPhone. [Swift](https://www.swift.org/) is a programming language designed for Apple iOS devices. Unleash offers an [iOS SDK](/reference/sdks/ios-proxy) for connecting SwiftUI with your iOS application to use feature flags. We will be using the open-source iOS Swift project called [Open Meteo](https://github.com/ighiba/open-meteo)!
|
iOS is a mobile operating system developed by Apple for their mostly used mobile device: the iPhone. [Swift](https://www.swift.org/) is a programming language designed for Apple iOS devices. Unleash offers an [iOS SDK](/reference/sdks/ios) for connecting SwiftUI with your iOS application to use feature flags. We will be using the open-source iOS Swift project called [Open Meteo](https://github.com/ighiba/open-meteo)!
|
||||||
|
|
||||||
Leveraging feature flags allows developers to toggle new features on and off, whether you’re experimenting in your local environment, testing for QA purposes, or rolling out changes to users in production. With Unleash, an open-source feature flag service, you can use our tooling to implement feature flags into your application and release new features faster, strategically, and safely. But how can you do this in iOS with Swift?
|
Leveraging feature flags allows developers to toggle new features on and off, whether you’re experimenting in your local environment, testing for QA purposes, or rolling out changes to users in production. With Unleash, an open-source feature flag service, you can use our tooling to implement feature flags into your application and release new features faster, strategically, and safely. But how can you do this in iOS with Swift?
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ Open your XCode workspace, build and run the app on a simulator or device.
|
|||||||
> :triangular_flag_on_post: **Note:**
|
> :triangular_flag_on_post: **Note:**
|
||||||
> Make sure you have CocoaPods installed on your system.
|
> Make sure you have CocoaPods installed on your system.
|
||||||
|
|
||||||
Next, follow the steps below in order to install the unleash-proxy-client-swift:
|
Next, follow the steps below in order to install the unleash-ios-sdk:
|
||||||
|
|
||||||
1. In your Xcode project go to File -> Swift Packages -> Add Package Dependency
|
1. In your Xcode project go to File -> Swift Packages -> Add Package Dependency
|
||||||
2. Supply the link to this repository
|
2. Supply the link to this repository
|
||||||
@ -184,7 +184,7 @@ Next, replace the `<client_key>` string in the config object with the API token
|
|||||||
|
|
||||||
As the application is launching, it will make an authenticated call to the Unleash server so we can begin using the `tempUnit` feature flag we created.
|
As the application is launching, it will make an authenticated call to the Unleash server so we can begin using the `tempUnit` feature flag we created.
|
||||||
|
|
||||||
You can check our documentation on [API tokens and client keys](/reference/api-tokens-and-client-keys) for more specifics and see additional use-cases in our [Frontend SDK with iOS](/reference/sdks/ios-proxy) documentation.
|
You can check our documentation on [API tokens and client keys](/reference/api-tokens-and-client-keys) for more specifics and see additional use-cases in our [Frontend SDK with iOS](/reference/sdks/ios) documentation.
|
||||||
|
|
||||||
Rebuild and run your app. In your console, you will see the feature flag status defaulted to `false` and then `true` when the data has been updated from making the call to Unleash.
|
Rebuild and run your app. In your console, you will see the feature flag status defaulted to `false` and then `true` when the data has been updated from making the call to Unleash.
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ slug: /feature-flag-tutorials/serverless/lambda
|
|||||||
|
|
||||||
Developers can add feature flagging capabilities to serverless functions and validate new parts of them. Leveraging feature flags gives you complete control over feature exposure and simplifies serverless function versioning management.
|
Developers can add feature flagging capabilities to serverless functions and validate new parts of them. Leveraging feature flags gives you complete control over feature exposure and simplifies serverless function versioning management.
|
||||||
|
|
||||||
For developers new to feature flags in serverless environments, this guide will walk you through practical examples using the [Unleash Node.js SDK](https://github.com/Unleash/unleash-client-node) in [AWS Lambda](https://aws.amazon.com/lambda/). Developers can easily adapt these concepts to other serverless solutions like [Google Cloud Functions](https://cloud.google.com/functions).
|
For developers new to feature flags in serverless environments, this guide will walk you through practical examples using the [Unleash Node.js SDK](https://github.com/Unleash/unleash-node-sdk) in [AWS Lambda](https://aws.amazon.com/lambda/). Developers can easily adapt these concepts to other serverless solutions like [Google Cloud Functions](https://cloud.google.com/functions).
|
||||||
|
|
||||||
## Scenarios for AWS Lambda feature flags
|
## Scenarios for AWS Lambda feature flags
|
||||||
|
|
||||||
|
@ -60,6 +60,6 @@ If you have not implemented the strategy in your backend SDK, the check will alw
|
|||||||
|
|
||||||
While custom strategies are _defined_ on the Unleash server, they must be _implemented_ on the client. All official Unleash backend SDKs provide a way for you to implement custom strategies.
|
While custom strategies are _defined_ on the Unleash server, they must be _implemented_ on the client. All official Unleash backend SDKs provide a way for you to implement custom strategies.
|
||||||
|
|
||||||
The exact method for implementing custom strategies will vary between SDKs, but the backend SDKs follow the same patterns. For frontend SDKs ([Android](/docs/generated/sdks/frontend/android-proxy.md), [JavaScript](/docs/generated/sdks/frontend/javascript-browser.md), [React](/docs/generated/sdks/frontend/react.md), [iOS](/docs/generated/sdks/frontend/ios-proxy.md), [Flutter](/docs/generated/sdks/frontend/flutter.md)), the custom activation strategy must be implemented in the [Unleash Proxy](../generated/unleash-proxy.md).
|
The exact method for implementing custom strategies will vary between SDKs, but the backend SDKs follow the same patterns. For frontend SDKs ([Android](/docs/generated/sdks/frontend/android.md), [JavaScript](/docs/generated/sdks/frontend/javascript-browser.md), [React](/docs/generated/sdks/frontend/react.md), [iOS](/docs/generated/sdks/frontend/ios.md), [Flutter](/docs/generated/sdks/frontend/flutter.md)), the custom activation strategy must be implemented in the [Unleash Proxy](../generated/unleash-proxy.md).
|
||||||
|
|
||||||
When implementing a strategy in your client, you will get access to the strategy's parameters and the Unleash Context. Again, refer to your specific SDK's documentation for more details.
|
When implementing a strategy in your client, you will get access to the strategy's parameters and the Unleash Context. Again, refer to your specific SDK's documentation for more details.
|
||||||
|
@ -129,17 +129,17 @@ This is a fallback variant that Unleash uses to represent the lack of a variant.
|
|||||||
|
|
||||||
Note: The actual representation of the built-in fallback variant in the client SDK will vary slightly, to honor best practices in various languages.
|
Note: The actual representation of the built-in fallback variant in the client SDK will vary slightly, to honor best practices in various languages.
|
||||||
|
|
||||||
## Client SDK Support {#client-sdk-support}
|
## Backend SDK Support {#client-sdk-support}
|
||||||
|
|
||||||
To make use of flag variants, you need to use a compatible client. Client SDK with variant support:
|
To make use of flag variants, you need to use a compatible client. Client SDK with variant support:
|
||||||
|
|
||||||
- [unleash-client-node](https://github.com/Unleash/unleash-client-node) (from v3.2.0)
|
- [unleash-node-sdk](https://github.com/Unleash/unleash-node-sdk) (from v3.2.0)
|
||||||
- [unleash-client-java](https://github.com/Unleash/unleash-client-java) (from v3.2.0)
|
- [unleash-java-sdk](https://github.com/Unleash/unleash-java-sdk) (from v3.2.0)
|
||||||
- [unleash-client-ruby](https://github.com/Unleash/unleash-client-ruby) (from v0.1.6)
|
- [unleash-ruby-sdk](https://github.com/Unleash/unleash-ruby-sdk) (from v0.1.6)
|
||||||
- [unleash-client-python](https://github.com/Unleash/unleash-client-python) (from v3.3.0)
|
- [unleash-python-sdk](https://github.com/Unleash/unleash-python-sdk) (from v3.3.0)
|
||||||
- [unleash-client-dotnet](https://github.com/Unleash/unleash-client-dotnet) (from v1.3.6)
|
- [unleash-dotnet-sdk](https://github.com/Unleash/unleash-dotnet-sdk) (from v1.3.6)
|
||||||
- [unleash-client-go](https://github.com/Unleash/unleash-client-go) (from v3 branch)
|
- [unleash-go-sdk](https://github.com/Unleash/unleash-go-sdk) (from v3 branch)
|
||||||
- [unleash-client-php](https://github.com/Unleash/unleash-client-php) (from v1.0.0)
|
- [unleash-php-sdk](https://github.com/Unleash/unleash-php-sdk) (from v1.0.0)
|
||||||
- [unleash-client-cpp](https://github.com/aruizs/unleash-client-cpp) (from v1.3.0)
|
- [unleash-cpp-sdk](https://github.com/aruizs/unleash-cpp-sdk) (from v1.3.0)
|
||||||
|
|
||||||
If you would like to give feedback on this feature, experience issues or have questions, please feel free to open an issue on [GitHub](https://github.com/Unleash/unleash/).
|
If you would like to give feedback on this feature, experience issues or have questions, please feel free to open an issue on [GitHub](https://github.com/Unleash/unleash/).
|
||||||
|
@ -38,9 +38,9 @@ When the SDK initializes, it sets up an in-memory repository and retrieves a lis
|
|||||||
|
|
||||||
Unleash offers the following frontend SDKs:
|
Unleash offers the following frontend SDKs:
|
||||||
|
|
||||||
- [Android SDK](/docs/generated/sdks/frontend/android-proxy.md)
|
- [Android SDK](/docs/generated/sdks/frontend/android.md)
|
||||||
- [Flutter SDK](/docs/generated/sdks/frontend/flutter.md)
|
- [Flutter SDK](/docs/generated/sdks/frontend/flutter.md)
|
||||||
- [iOS SDK](/docs/generated/sdks/frontend/ios-proxy.md)
|
- [iOS SDK](/docs/generated/sdks/frontend/ios.md)
|
||||||
- [JavaScript SDK](/docs/generated/sdks/frontend/javascript-browser.md)
|
- [JavaScript SDK](/docs/generated/sdks/frontend/javascript-browser.md)
|
||||||
- [Next.js](/docs/generated/sdks/frontend/next-js.md)
|
- [Next.js](/docs/generated/sdks/frontend/next-js.md)
|
||||||
- [React SDK](/docs/generated/sdks/frontend/react.md)
|
- [React SDK](/docs/generated/sdks/frontend/react.md)
|
||||||
@ -133,7 +133,7 @@ Static fields (`environment`, `appName`), defined fields, and custom properties
|
|||||||
| Default metrics interval | 60s | 60s | 60s | 60s | 60s | 60s | 60s | 15s |
|
| Default metrics interval | 60s | 60s | 60s | 60s | 60s | 60s | 60s | 15s |
|
||||||
|
|
||||||
#### Frontend SDKs
|
#### Frontend SDKs
|
||||||
| Interval | [Android](/docs/generated/sdks/frontend/android-proxy.md) | [Flutter](/docs/generated/sdks/frontend/flutter.md) | [iOS](/docs/generated/sdks/frontend/ios-proxy.md) | [JavaScript](/docs/generated/sdks/frontend/javascript-browser.md) | [Next.js](/docs/generated/sdks/frontend/next-js.md) | [React](/docs/generated/sdks/frontend/react.md) | [Svelte](/docs/generated/sdks/frontend/svelte.md) | [Vue](/docs/generated/sdks/frontend/vue.md) |
|
| Interval | [Android](/docs/generated/sdks/frontend/android.md) | [Flutter](/docs/generated/sdks/frontend/flutter.md) | [iOS](/docs/generated/sdks/frontend/ios.md) | [JavaScript](/docs/generated/sdks/frontend/javascript-browser.md) | [Next.js](/docs/generated/sdks/frontend/next-js.md) | [React](/docs/generated/sdks/frontend/react.md) | [Svelte](/docs/generated/sdks/frontend/svelte.md) | [Vue](/docs/generated/sdks/frontend/vue.md) |
|
||||||
| --- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
|
| --- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
|
||||||
| Default refresh interval | 60s | 30s | 15s | 30s | 30s | 30s | 30s | 30s |
|
| Default refresh interval | 60s | 30s | 15s | 30s | 30s | 30s | 30s | 30s |
|
||||||
| Default metrics interval | 60s | 30s | 30s | 60s | 60s | 60s | 60s | 60s |
|
| Default metrics interval | 60s | 30s | 30s | 60s | 60s | 60s | 60s | 60s |
|
||||||
@ -178,7 +178,7 @@ By default, all SDKs reach out to the Unleash server at startup to fetch their f
|
|||||||
|
|
||||||
Bootstrapping is also supported by the following frontend SDKs:
|
Bootstrapping is also supported by the following frontend SDKs:
|
||||||
|
|
||||||
- [Android SDK](/docs/generated/sdks/frontend/android-proxy.md)
|
- [Android SDK](/docs/generated/sdks/frontend/android.md)
|
||||||
- [JavaScript SDK](/docs/generated/sdks/frontend/javascript-browser.md)
|
- [JavaScript SDK](/docs/generated/sdks/frontend/javascript-browser.md)
|
||||||
- [React SDK](/docs/generated/sdks/frontend/react.md)
|
- [React SDK](/docs/generated/sdks/frontend/react.md)
|
||||||
- [Svelte SDK](/docs/generated/sdks/frontend/svelte.md)
|
- [Svelte SDK](/docs/generated/sdks/frontend/svelte.md)
|
||||||
|
@ -46,7 +46,7 @@ Frontend SDKs are used in frontend and mobile applications. They communicate wit
|
|||||||
|
|
||||||
Unlike backend SDKs, frontend SDKs do not perform the flag evaluation locally. Instead, they fetch all enabled feature flags for a given [Unleash Context](/reference/unleash-context). The flag evaluation happens inside [Unleash Edge](#unleash-edge), or within the Unleash server. Frontend SDKs cache evaluated feature flags in memory using a single evaluation call to the server, making flag evaluation secure, fast, and efficient.
|
Unlike backend SDKs, frontend SDKs do not perform the flag evaluation locally. Instead, they fetch all enabled feature flags for a given [Unleash Context](/reference/unleash-context). The flag evaluation happens inside [Unleash Edge](#unleash-edge), or within the Unleash server. Frontend SDKs cache evaluated feature flags in memory using a single evaluation call to the server, making flag evaluation secure, fast, and efficient.
|
||||||
|
|
||||||
Supported platforms include: [JavaScript](/reference/sdks/javascript-browser), [React](/reference/sdks/react), [iOS](/reference/sdks/ios-proxy), [Android](/reference/sdks/android-proxy), and more.
|
Supported platforms include: [JavaScript](/reference/sdks/javascript-browser), [React](/reference/sdks/react), [iOS](/reference/sdks/ios), [Android](/reference/sdks/android), and more.
|
||||||
|
|
||||||
### Flag evaluation
|
### Flag evaluation
|
||||||
|
|
||||||
|
@ -284,11 +284,11 @@ class="header-github-link"
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'iOS',
|
label: 'iOS',
|
||||||
to: '/reference/sdks/ios-proxy',
|
to: '/reference/sdks/ios',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Android',
|
label: 'Android',
|
||||||
to: '/reference/sdks/android-proxy',
|
to: '/reference/sdks/android',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Flutter',
|
label: 'Flutter',
|
||||||
@ -595,12 +595,18 @@ class="header-github-link"
|
|||||||
to: '/reference/sdks/ruby',
|
to: '/reference/sdks/ruby',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: '/sdks/android_proxy_sdk',
|
from: [
|
||||||
to: '/reference/sdks/android-proxy',
|
'/sdks/android_proxy_sdk',
|
||||||
|
'/reference/sdks/android-proxy',
|
||||||
|
],
|
||||||
|
to: '/reference/sdks/android',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: '/sdks/proxy-ios',
|
from: [
|
||||||
to: '/reference/sdks/ios-proxy',
|
'/sdks/proxy-ios',
|
||||||
|
'/reference/sdks/ios-proxy',
|
||||||
|
],
|
||||||
|
to: '/reference/sdks/ios',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: [
|
from: [
|
||||||
|
@ -25,29 +25,29 @@ const CLIENT_SIDE_SDK = 'frontend';
|
|||||||
const SERVER_SIDE_SDK = 'backend';
|
const SERVER_SIDE_SDK = 'backend';
|
||||||
|
|
||||||
const serverSideSdks = {
|
const serverSideSdks = {
|
||||||
'unleash-client-go': {
|
'unleash-go-sdk': {
|
||||||
sidebarName: 'Go',
|
sidebarName: 'Go',
|
||||||
branch: 'v4',
|
branch: 'v5',
|
||||||
},
|
},
|
||||||
'unleash-client-java': {
|
'unleash-java-sdk': {
|
||||||
sidebarName: 'Java',
|
sidebarName: 'Java',
|
||||||
},
|
},
|
||||||
'unleash-client-node': {
|
'unleash-node-sdk': {
|
||||||
sidebarName: 'Node',
|
sidebarName: 'Node',
|
||||||
},
|
},
|
||||||
'unleash-client-php': {
|
'unleash-php-sdk': {
|
||||||
sidebarName: 'PHP',
|
sidebarName: 'PHP',
|
||||||
},
|
},
|
||||||
'unleash-client-python': {
|
'unleash-python-sdk': {
|
||||||
sidebarName: 'Python',
|
sidebarName: 'Python',
|
||||||
},
|
},
|
||||||
'unleash-client-ruby': {
|
'unleash-ruby-sdk': {
|
||||||
sidebarName: 'Ruby',
|
sidebarName: 'Ruby',
|
||||||
},
|
},
|
||||||
'unleash-client-rust': {
|
'unleash-rust-sdk': {
|
||||||
sidebarName: 'Rust',
|
sidebarName: 'Rust',
|
||||||
},
|
},
|
||||||
'unleash-client-dotnet': {
|
'unleash-dotnet-sdk': {
|
||||||
sidebarName: '.NET',
|
sidebarName: '.NET',
|
||||||
slugName: 'dotnet',
|
slugName: 'dotnet',
|
||||||
},
|
},
|
||||||
@ -58,18 +58,18 @@ const clientSideSdks = {
|
|||||||
sidebarName: 'Android (legacy)',
|
sidebarName: 'Android (legacy)',
|
||||||
slugName: 'android-proxy-legacy',
|
slugName: 'android-proxy-legacy',
|
||||||
},
|
},
|
||||||
'unleash-android': {
|
'unleash-android-sdk': {
|
||||||
sidebarName: 'Android',
|
sidebarName: 'Android',
|
||||||
slugName: 'android-proxy',
|
slugName: 'android',
|
||||||
},
|
},
|
||||||
unleash_proxy_client_flutter: {
|
'unleash-flutter-sdk': {
|
||||||
sidebarName: 'Flutter',
|
sidebarName: 'Flutter',
|
||||||
},
|
},
|
||||||
'unleash-proxy-client-swift': {
|
'unleash-ios-sdk': {
|
||||||
sidebarName: 'iOS',
|
sidebarName: 'iOS',
|
||||||
slugName: 'ios-proxy',
|
slugName: 'ios',
|
||||||
},
|
},
|
||||||
'unleash-proxy-client-js': {
|
'unleash-js-sdk': {
|
||||||
sidebarName: 'JavaScript browser',
|
sidebarName: 'JavaScript browser',
|
||||||
slugName: 'javascript-browser',
|
slugName: 'javascript-browser',
|
||||||
},
|
},
|
||||||
@ -82,7 +82,7 @@ const clientSideSdks = {
|
|||||||
'proxy-client-vue': {
|
'proxy-client-vue': {
|
||||||
sidebarName: 'Vue',
|
sidebarName: 'Vue',
|
||||||
},
|
},
|
||||||
'unleash-client-nextjs': {
|
'unleash-nextjs-sdk': {
|
||||||
sidebarName: 'Next.js',
|
sidebarName: 'Next.js',
|
||||||
slugName: 'next-js',
|
slugName: 'next-js',
|
||||||
},
|
},
|
||||||
|
@ -31,6 +31,11 @@
|
|||||||
"destination": "https://gh.getunleash.io/unleash-client-python/:path",
|
"destination": "https://gh.getunleash.io/unleash-client-python/:path",
|
||||||
"permanent": true
|
"permanent": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"source": "/unleash-python-sdk(/?)/:path",
|
||||||
|
"destination": "https://gh.getunleash.io/unleash-python-sdk/:path",
|
||||||
|
"permanent": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"source": "/user_guide/api-token",
|
"source": "/user_guide/api-token",
|
||||||
"destination": "/reference/api-tokens-and-client-keys",
|
"destination": "/reference/api-tokens-and-client-keys",
|
||||||
@ -393,12 +398,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": "/sdks/android_proxy_sdk",
|
"source": "/sdks/android_proxy_sdk",
|
||||||
"destination": "/reference/sdks/android-proxy",
|
"destination": "/reference/sdks/android",
|
||||||
"permanent": true
|
"permanent": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": "/sdks/proxy-ios",
|
"source": "/sdks/proxy-ios",
|
||||||
"destination": "/reference/sdks/ios-proxy",
|
"destination": "/reference/sdks/ios",
|
||||||
"permanent": true
|
"permanent": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user