{"id":32285471,"url":"https://github.com/softcand/supsis-flutter-widget","last_synced_at":"2025-10-23T01:49:14.895Z","repository":{"id":259027950,"uuid":"876257016","full_name":"softcand/supsis-flutter-widget","owner":"softcand","description":"Supsis Flutter Library","archived":false,"fork":false,"pushed_at":"2024-11-07T12:30:39.000Z","size":447,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-23T01:48:53.975Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softcand.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-21T16:57:09.000Z","updated_at":"2024-11-07T12:30:43.000Z","dependencies_parsed_at":"2024-10-22T16:02:23.212Z","dependency_job_id":null,"html_url":"https://github.com/softcand/supsis-flutter-widget","commit_stats":null,"previous_names":["softcand/supsis-flutter-widget"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/softcand/supsis-flutter-widget","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softcand%2Fsupsis-flutter-widget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softcand%2Fsupsis-flutter-widget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softcand%2Fsupsis-flutter-widget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softcand%2Fsupsis-flutter-widget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softcand","download_url":"https://codeload.github.com/softcand/supsis-flutter-widget/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softcand%2Fsupsis-flutter-widget/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280546408,"owners_count":26348722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-22T02:00:06.515Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-23T01:49:13.452Z","updated_at":"2025-10-23T01:49:14.882Z","avatar_url":"https://github.com/softcand.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Supsis Flutter Widget\n\n**Supsis Flutter Widget**, Flutter uygulamalarınıza kolayca entegre edebileceğiniz özelleştirilebilir bir sohbet bileşenidir. Bu bileşen, kullanıcılarınızın destek ekibinizle gerçek zamanlı olarak iletişim kurmasını sağlar.\n\n## Özellikler\n\n- **Kolay Entegrasyon**: Uygulamanıza minimum çabayla sohbet bileşeni ekleyin.\n- **Özelleştirilebilir**: Kullanıcı verilerini ve departmanı ayarlayarak kişiselleştirilmiş destek sunun.\n- **Duyarlı Arayüz**: Bileşen, farklı ekran boyutlarına ve yönlendirmelerine sorunsuz bir şekilde uyum sağlar.\n- **Gerçek Zamanlı İletişim**: Kullanıcılarınız ve destek ekibiniz arasında anlık mesajlaşma imkanı sağlar.\n\n## Gereklilikler\n\n- **Flutter SDK 2.0** veya üzeri\n- **İnternet İzni**: Uygulamanızın internet erişimine izin vermesi gerekir. `AndroidManifest.xml` dosyanıza aşağıdaki izni ekleyin:\n\n  ```xml\n  \u003cuses-permission android:name=\"android.permission.INTERNET\" /\u003e\n  ```\n\n## Kurulum\n\nBu kütüphane pub.dev üzerinden dağıtılmaktadır. Projenize eklemek için aşağıdaki adımları izleyin:\n\n```yaml\ndependencies:\n  flutter:\n    sdk: flutter\n  supsis_flutter_widget: ^0.0.5\n```\n\n- Paketleri indirmek için terminalde şu komutu çalıştırın:\n\n```bash\nflutter pub get\n```\n\n## Kullanım\n\nSupsisVisitor widget'ını kullanmak için, dart dosyanıza dahil edin ve widget ağacınıza ekleyin.\n\n`main.dart` Dosyası:\n\n```dart\nimport 'package:flutter/material.dart';\nimport 'package:supsis_flutter_widget/supsis_flutter_widget.dart';\n\nvoid main() {\n  runApp(MyApp());\n}\n\nclass MyApp extends StatefulWidget {\n  @override\n  _MyAppState createState() =\u003e _MyAppState();\n}\n\nclass _MyAppState extends State\u003cMyApp\u003e {\n  final SupsisVisitorController _controller = SupsisVisitorController();\n\n  @override\n  void initState() {\n    super.initState();\n\n    // Otomatik olarak kullanıcı verilerini ayarla\n    WidgetsBinding.instance.addPostFrameCallback((_) {\n      _controller.setUserData({\n        'name': 'Ahmet Yılmaz',\n        'email': 'ahmet.yilmaz@example.com',\n      });\n      _controller.setContactProperty({\n        'phone': '05551234567',\n        'address': '123 Ana Cadde',\n      });\n    });\n  }\n\n  // clearCache fonksiyonunu tanımla ancak kullanma\n  void clearCache() {\n    _controller.clearCache();\n    print('Cache cleared.');\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      debugShowCheckedModeBanner: false, // Debug modunu kapat\n      home: Scaffold(\n        appBar: AppBar(\n          title: Text(\"Supsis Visitor\"),\n        ),\n        body: SupsisVisitor(\n          controller: _controller,\n          // Kendi domain adınızı girin\n          domainName: 'sizin_domain_adiniz',\n          environment: 'prod', // veya 'beta'\n          onConnected: () {\n            print('Visitor connected');\n          },\n          onDisconnected: () {\n            print('Visitor disconnected');\n          },\n        ),\n        // WebView görünürse FloatingActionButton'u gösterme\n        floatingActionButton: !_controller.isVisible\n            ? Padding(\n                padding: const EdgeInsets.only(bottom: 64.0, right: 16),\n                child: FloatingActionButton(\n                  onPressed: () {\n                    _controller.open();\n                    print('WebView opened.');\n                  },\n                  child: Icon(Icons.chat),\n                ),\n              )\n            : null,\n      ),\n    );\n  }\n}\n\n```\n\n## Fonksiyonların Açıklaması\n\n|                         Fonksiyon                          |                      Açıklama                      |                                     Kullanım Örneği                                     |\n| :--------------------------------------------------------: | :------------------------------------------------: | :-------------------------------------------------------------------------------------: |\n|        `setUserData(Map\u003cString, dynamic\u003e userData)`        | Sohbet oturumu için kullanıcı bilgilerini ayarlar. |  `_controller.setUserData({'email': 'kullanici@ornek.com', 'name': 'Ahmet Yılmaz'});`   |\n| `setContactProperty(Map\u003cString, dynamic\u003e contactProperty)` |     Kullanıcının iletişim bilgilerini ayarlar.     | `_controller.setContactProperty({'phone': '05551234567', 'address': '123 Ana Cadde'});` |\n|             `setDepartment(String department)`             |      Sohbet oturumu için departmanı ayarlar.       |                         `_controller.setDepartment('Destek');`                          |\n|                          `open()`                          |  Sohbet bileşenini açar ve kullanıcıya gösterir.   |                                  `_controller.open();`                                  |\n|                         `close()`                          | Sohbet bileşenini kapatır ve kullanıcıdan gizler.  |                                 `_controller.close();`                                  |\n|                       `clearCache()`                       |      Sohbet oturumunun önbelleğini temizler.       |                               `_controller.clearCache();`                               |\n\n## Örnek Uygulama\n\n`main.dart` Dosyası:\n\n```dart\nimport 'package:flutter/material.dart';\nimport 'package:supsis_flutter_widget/supsis_flutter_widget.dart';\n\nvoid main() {\n  runApp(MyApp());\n}\n\nclass MyApp extends StatelessWidget {\n  final SupsisVisitorController _controller = SupsisVisitorController();\n\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: 'Supsis Flutter Widget Örnek',\n      debugShowCheckedModeBanner: false, // Debug modunu kapat\n      home: Scaffold(\n        appBar: AppBar(\n          title: Text('Supsis Flutter Widget Örnek'),\n        ),\n        body: Stack(\n          children: [\n            SupsisVisitor(\n              controller: _controller,\n              // Kendi domain adınızı girin\n              domainName: 'sizin_domain_adiniz',\n              environment: 'prod', // veya 'beta'\n              onConnected: () {\n                print('Visitor connected');\n              },\n              onDisconnected: () {\n                print('Visitor disconnected');\n              },\n            ),\n            Positioned(\n              bottom: 20,\n              left: 20,\n              child: Column(\n                children: [\n                  ElevatedButton(\n                    onPressed: () {\n                      _controller.open();\n                      print('Sohbet açıldı.');\n                    },\n                    child: Text('Sohbeti Aç'),\n                  ),\n                  SizedBox(height: 10),\n                  ElevatedButton(\n                    onPressed: () {\n                      _controller.close();\n                      print('Sohbet kapatıldı.');\n                    },\n                    child: Text('Sohbeti Kapat'),\n                  ),\n                ],\n              ),\n            ),\n          ],\n        ),\n      ),\n    );\n  }\n}\n```\n\n## Lisans\n\nBu proje MIT Lisansı altında lisanslanmıştır.\n\n## Destek\n\nHerhangi bir sorunla karşılaşırsanız veya sorunuz varsa, lütfen GitHub deposu üzerinden bir sorun (issue) açın.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftcand%2Fsupsis-flutter-widget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftcand%2Fsupsis-flutter-widget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftcand%2Fsupsis-flutter-widget/lists"}